add lolcommits to overlay
based on work by Farid Zakaria https://github.com/fzakaria/lolcommits-nixpkgs
This commit is contained in:
parent
f1da50c5c0
commit
4259358460
|
@ -114,6 +114,7 @@ let
|
||||||
reptyr # re-bind running program to other tty
|
reptyr # re-bind running program to other tty
|
||||||
xclip
|
xclip
|
||||||
unzip
|
unzip
|
||||||
|
lolcommits # from overlay
|
||||||
];
|
];
|
||||||
|
|
||||||
nixHelpers = [
|
nixHelpers = [
|
||||||
|
|
4
home/ov/lolcommits-nixpkgs/.gitignore
vendored
Normal file
4
home/ov/lolcommits-nixpkgs/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
.direnv/
|
||||||
|
vendor/
|
||||||
|
result
|
||||||
|
.bundle/
|
3
home/ov/lolcommits-nixpkgs/Gemfile
Normal file
3
home/ov/lolcommits-nixpkgs/Gemfile
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source 'https://rubygems.org' do
|
||||||
|
gem 'lolcommits'
|
||||||
|
end
|
35
home/ov/lolcommits-nixpkgs/Gemfile.lock
Normal file
35
home/ov/lolcommits-nixpkgs/Gemfile.lock
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
addressable (2.7.0)
|
||||||
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
|
git (1.6.0)
|
||||||
|
rchardet (~> 1.8)
|
||||||
|
launchy (2.4.3)
|
||||||
|
addressable (~> 2.3)
|
||||||
|
lolcommits (0.16.2)
|
||||||
|
git (~> 1.6.0)
|
||||||
|
launchy (~> 2.4.3)
|
||||||
|
lolcommits-loltext (~> 0.4.0)
|
||||||
|
mercurial-ruby (~> 0.7.12)
|
||||||
|
methadone (~> 1.9.5)
|
||||||
|
mini_magick (~> 4.10.1)
|
||||||
|
open4 (~> 1.3.4)
|
||||||
|
lolcommits-loltext (0.4.0)
|
||||||
|
mercurial-ruby (0.7.12)
|
||||||
|
open4 (~> 1.3.0)
|
||||||
|
methadone (1.9.5)
|
||||||
|
bundler
|
||||||
|
mini_magick (4.10.1)
|
||||||
|
open4 (1.3.4)
|
||||||
|
public_suffix (4.0.6)
|
||||||
|
rchardet (1.8.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
lolcommits!
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.1.4
|
21
home/ov/lolcommits-nixpkgs/LICENSE
Normal file
21
home/ov/lolcommits-nixpkgs/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 Farid Zakaria
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
24
home/ov/lolcommits-nixpkgs/README.md
Normal file
24
home/ov/lolcommits-nixpkgs/README.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# lolcommits
|
||||||
|
|
||||||
|
This is a [nixpkgs](https://nixos.org/) derivation for [lolcommits](https://github.com/lolcommits/lolcommits/).
|
||||||
|
|
||||||
|
It was written to help [this discourse post](https://discourse.nixos.org/t/wrapping-ruby-applications-into-custom-path/9148).
|
||||||
|
|
||||||
|
You can easily run it by issuing the following:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nix run -f https://github.com/fzakaria/lolcommits/archive/master.tar.gz --command lolcommits
|
||||||
|
|
||||||
|
Do what exactly?
|
||||||
|
Try: lolcommits --enable (when in a git repository)
|
||||||
|
Or: lolcommits --help
|
||||||
|
```
|
||||||
|
|
||||||
|
It includes all the necessary dependencies such as mplayer & imagemagick
|
||||||
|
|
||||||
|
```bash
|
||||||
|
❯ cat ./result/bin/lolcommits
|
||||||
|
#! /nix/store/j8vysakw78bpgngba32hfwwikqda9yx2-bash-4.4-p23/bin/bash -e
|
||||||
|
export PATH='/nix/store/1dysm4zfzss74rw6vvhqbs623rxgygx4-mplayer-1.4/bin:/nix/store/z1fh9yz3mikpmdmxpnbs2i249477q5yf-imagemagick-6.9.11-14/bin'${PATH:+':'}$PATH
|
||||||
|
exec -a "$0" "/nix/store/xjvpw6p1yqsid0fags6bya607hzd6ff8-lolcommits-0.16.2/bin/.lolcommits-wrapped" "$@"
|
||||||
|
```
|
16
home/ov/lolcommits-nixpkgs/default.nix
Normal file
16
home/ov/lolcommits-nixpkgs/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ nixpkgs ? import <nixpkgs> { }, lib ? nixpkgs.lib, bundlerApp ? nixpkgs.bundlerApp
|
||||||
|
, makeWrapper ? nixpkgs.makeWrapper, mplayer ? nixpkgs.mplayer
|
||||||
|
, imagemagick ? nixpkgs.imagemagick }:
|
||||||
|
|
||||||
|
bundlerApp {
|
||||||
|
pname = "lolcommits";
|
||||||
|
gemdir = ./.;
|
||||||
|
exes = [ "lolcommits" ];
|
||||||
|
buildInputs = [ makeWrapper mplayer imagemagick ];
|
||||||
|
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/lolcommits --prefix PATH : ${
|
||||||
|
lib.makeBinPath [ mplayer imagemagick ]
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
126
home/ov/lolcommits-nixpkgs/gemset.nix
Normal file
126
home/ov/lolcommits-nixpkgs/gemset.nix
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
{
|
||||||
|
addressable = {
|
||||||
|
dependencies = [ "public_suffix" ];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.7.0";
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
dependencies = [ "rchardet" ];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "15sbv16dlap5d6naybl8cc99zffrpzygkhjz3m6l3r5y5yrhwwjc";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.6.0";
|
||||||
|
};
|
||||||
|
launchy = {
|
||||||
|
dependencies = [ "addressable" ];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.4.3";
|
||||||
|
};
|
||||||
|
lolcommits = {
|
||||||
|
dependencies = [
|
||||||
|
"git"
|
||||||
|
"launchy"
|
||||||
|
"lolcommits-loltext"
|
||||||
|
"mercurial-ruby"
|
||||||
|
"methadone"
|
||||||
|
"mini_magick"
|
||||||
|
"open4"
|
||||||
|
];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "1qpjdl8np8xpw5v42331sqb628ldq300zaqg2z8iccxbrqjq240l";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.16.2";
|
||||||
|
};
|
||||||
|
lolcommits-loltext = {
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "0g1bpki6j8hzn22wh68m1gs881r4cis0vccxx1an3zq51hrrk2rf";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.0";
|
||||||
|
};
|
||||||
|
mercurial-ruby = {
|
||||||
|
dependencies = [ "open4" ];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "188zlrifrrlr88ls06f2mlji3ww9sm9rcfggfpraw547q4d44icj";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.7.12";
|
||||||
|
};
|
||||||
|
methadone = {
|
||||||
|
dependencies = [ ];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "1dwhlljmrv9r857jv1wnp963hmfnldjdvyqg0mwi8rsibnc30fj8";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.9.5";
|
||||||
|
};
|
||||||
|
mini_magick = {
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "0lpq12z70n10c1qshcddd5nib2pkcbkwzvmiqqzj60l01k3x4fg9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "4.10.1";
|
||||||
|
};
|
||||||
|
open4 = {
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.3.4";
|
||||||
|
};
|
||||||
|
public_suffix = {
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "4.0.6";
|
||||||
|
};
|
||||||
|
rchardet = {
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
|
source = {
|
||||||
|
remotes = [ "https://rubygems.org" ];
|
||||||
|
sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.8.0";
|
||||||
|
};
|
||||||
|
}
|
7
home/ov/lolcommits-nixpkgs/shell.nix
Normal file
7
home/ov/lolcommits-nixpkgs/shell.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs ? import <nixpkgs> { } }:
|
||||||
|
with pkgs;
|
||||||
|
with stdenv;
|
||||||
|
mkShell {
|
||||||
|
name = "lolcommits-shell";
|
||||||
|
buildInputs = [ bundix ruby ];
|
||||||
|
}
|
230
home/ov/mplayer.nix
Normal file
230
home/ov/mplayer.nix
Normal file
|
@ -0,0 +1,230 @@
|
||||||
|
{ config, stdenv, fetchurl, pkgconfig, freetype, yasm, ffmpeg_3
|
||||||
|
, aalibSupport ? true, aalib ? null
|
||||||
|
, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
|
||||||
|
, fribidiSupport ? true, fribidi ? null
|
||||||
|
, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null
|
||||||
|
, xineramaSupport ? true, libXinerama ? null
|
||||||
|
, xvSupport ? true, libXv ? null
|
||||||
|
, alsaSupport ? stdenv.isLinux, alsaLib ? null
|
||||||
|
, screenSaverSupport ? true, libXScrnSaver ? null
|
||||||
|
, vdpauSupport ? false, libvdpau ? null
|
||||||
|
, cddaSupport ? !stdenv.isDarwin, cdparanoia ? null
|
||||||
|
, dvdnavSupport ? !stdenv.isDarwin, libdvdnav ? null
|
||||||
|
, dvdreadSupport ? true, libdvdread ? null
|
||||||
|
, bluraySupport ? true, libbluray ? null
|
||||||
|
, amrSupport ? false, amrnb ? null, amrwb ? null
|
||||||
|
, cacaSupport ? true, libcaca ? null
|
||||||
|
, lameSupport ? true, lame ? null
|
||||||
|
, speexSupport ? true, speex ? null
|
||||||
|
, theoraSupport ? true, libtheora ? null
|
||||||
|
, x264Support ? false, x264 ? null
|
||||||
|
, jackaudioSupport ? false, libjack2 ? null
|
||||||
|
, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null
|
||||||
|
, bs2bSupport ? false, libbs2b ? null
|
||||||
|
, v4lSupport ? false, libv4l ? null
|
||||||
|
# For screenshots
|
||||||
|
, libpngSupport ? true, libpng ? null
|
||||||
|
, libjpegSupport ? true, libjpeg ? null
|
||||||
|
, useUnfreeCodecs ? false
|
||||||
|
, darwin ? null
|
||||||
|
, buildPackages
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert fontconfigSupport -> (fontconfig != null);
|
||||||
|
assert (!fontconfigSupport) -> (freefont_ttf != null);
|
||||||
|
assert fribidiSupport -> (fribidi != null);
|
||||||
|
assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null);
|
||||||
|
assert xineramaSupport -> (libXinerama != null && x11Support);
|
||||||
|
assert xvSupport -> (libXv != null && x11Support);
|
||||||
|
assert alsaSupport -> alsaLib != null;
|
||||||
|
assert screenSaverSupport -> libXScrnSaver != null;
|
||||||
|
assert vdpauSupport -> libvdpau != null;
|
||||||
|
assert cddaSupport -> cdparanoia != null;
|
||||||
|
assert dvdnavSupport -> libdvdnav != null;
|
||||||
|
assert dvdreadSupport -> libdvdread != null;
|
||||||
|
assert bluraySupport -> libbluray != null;
|
||||||
|
assert amrSupport -> (amrnb != null && amrwb != null);
|
||||||
|
assert cacaSupport -> libcaca != null;
|
||||||
|
assert lameSupport -> lame != null;
|
||||||
|
assert speexSupport -> speex != null;
|
||||||
|
assert theoraSupport -> libtheora != null;
|
||||||
|
assert x264Support -> x264 != null;
|
||||||
|
assert jackaudioSupport -> libjack2 != null;
|
||||||
|
assert pulseSupport -> libpulseaudio != null;
|
||||||
|
assert bs2bSupport -> libbs2b != null;
|
||||||
|
assert libpngSupport -> libpng != null;
|
||||||
|
assert libjpegSupport -> libjpeg != null;
|
||||||
|
assert v4lSupport -> libv4l != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
codecs_src =
|
||||||
|
let
|
||||||
|
dir = "http://www.mplayerhq.hu/MPlayer/releases/codecs/";
|
||||||
|
version = "20071007";
|
||||||
|
in
|
||||||
|
if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
|
||||||
|
url = "${dir}/essential-${version}.tar.bz2";
|
||||||
|
sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic";
|
||||||
|
} else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl {
|
||||||
|
url = "${dir}/essential-amd64-${version}.tar.bz2";
|
||||||
|
sha256 = "13xf5b92w1ra5hw00ck151lypbmnylrnznq9hhb0sj36z5wz290x";
|
||||||
|
} else if stdenv.hostPlatform.system == "powerpc-linux" then fetchurl {
|
||||||
|
url = "${dir}/essential-ppc-${version}.tar.bz2";
|
||||||
|
sha256 = "18mlj8dp4wnz42xbhdk1jlz2ygra6fbln9wyrcyvynxh96g1871z";
|
||||||
|
} else null;
|
||||||
|
|
||||||
|
codecs = if codecs_src != null then stdenv.mkDerivation {
|
||||||
|
pname = "MPlayer-codecs-essential";
|
||||||
|
|
||||||
|
src = codecs_src;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir $out
|
||||||
|
cp -prv * $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta.license = stdenv.lib.licenses.unfree;
|
||||||
|
} else null;
|
||||||
|
|
||||||
|
crossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "mplayer";
|
||||||
|
version = "1.4";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-${version}.tar.xz";
|
||||||
|
sha256 = "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2";
|
||||||
|
};
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
sed -i /^_install_strip/d configure
|
||||||
|
|
||||||
|
rm -rf ffmpeg
|
||||||
|
'';
|
||||||
|
|
||||||
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
|
nativeBuildInputs = [ pkgconfig yasm ];
|
||||||
|
buildInputs = with stdenv.lib;
|
||||||
|
[ freetype ffmpeg_3 ]
|
||||||
|
++ optional aalibSupport aalib
|
||||||
|
++ optional fontconfigSupport fontconfig
|
||||||
|
++ optional fribidiSupport fribidi
|
||||||
|
++ optionals x11Support [ libX11 libXext libGLU libGL ]
|
||||||
|
++ optional alsaSupport alsaLib
|
||||||
|
++ optional xvSupport libXv
|
||||||
|
++ optional theoraSupport libtheora
|
||||||
|
++ optional cacaSupport libcaca
|
||||||
|
++ optional xineramaSupport libXinerama
|
||||||
|
++ optional dvdnavSupport libdvdnav
|
||||||
|
++ optional dvdreadSupport libdvdread
|
||||||
|
++ optional bluraySupport libbluray
|
||||||
|
++ optional cddaSupport cdparanoia
|
||||||
|
++ optional jackaudioSupport libjack2
|
||||||
|
++ optionals amrSupport [ amrnb amrwb ]
|
||||||
|
++ optional x264Support x264
|
||||||
|
++ optional pulseSupport libpulseaudio
|
||||||
|
++ optional screenSaverSupport libXScrnSaver
|
||||||
|
++ optional lameSupport lame
|
||||||
|
++ optional vdpauSupport libvdpau
|
||||||
|
++ optional speexSupport speex
|
||||||
|
++ optional libpngSupport libpng
|
||||||
|
++ optional libjpegSupport libjpeg
|
||||||
|
++ optional bs2bSupport libbs2b
|
||||||
|
++ optional v4lSupport libv4l
|
||||||
|
++ (with darwin.apple_sdk.frameworks; optionals stdenv.isDarwin [ Cocoa OpenGL ])
|
||||||
|
;
|
||||||
|
|
||||||
|
configurePlatforms = [ ];
|
||||||
|
configureFlags = with stdenv.lib; [
|
||||||
|
"--enable-freetype"
|
||||||
|
(if fontconfigSupport then "--enable-fontconfig" else "--disable-fontconfig")
|
||||||
|
(if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl")
|
||||||
|
(if xineramaSupport then "--enable-xinerama" else "--disable-xinerama")
|
||||||
|
(if xvSupport then "--enable-xv" else "--disable-xv")
|
||||||
|
(if alsaSupport then "--enable-alsa" else "--disable-alsa")
|
||||||
|
(if screenSaverSupport then "--enable-xss" else "--disable-xss")
|
||||||
|
(if vdpauSupport then "--enable-vdpau" else "--disable-vdpau")
|
||||||
|
(if cddaSupport then "--enable-cdparanoia" else "--disable-cdparanoia")
|
||||||
|
(if dvdnavSupport then "--enable-dvdnav" else "--disable-dvdnav")
|
||||||
|
(if bluraySupport then "--enable-bluray" else "--disable-bluray")
|
||||||
|
(if amrSupport then "--enable-libopencore_amrnb" else "--disable-libopencore_amrnb")
|
||||||
|
(if cacaSupport then "--enable-caca" else "--disable-caca")
|
||||||
|
(if lameSupport then "--enable-mp3lame --disable-mp3lame-lavc" else "--disable-mp3lame --enable-mp3lame-lavc")
|
||||||
|
(if speexSupport then "--enable-speex" else "--disable-speex")
|
||||||
|
(if theoraSupport then "--enable-theora" else "--disable-theora")
|
||||||
|
(if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc")
|
||||||
|
(if jackaudioSupport then "" else "--disable-jack")
|
||||||
|
(if pulseSupport then "--enable-pulse" else "--disable-pulse")
|
||||||
|
(if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2")
|
||||||
|
"--disable-xanim"
|
||||||
|
"--disable-ivtv"
|
||||||
|
"--disable-xvid --disable-xvid-lavc"
|
||||||
|
"--disable-ossaudio"
|
||||||
|
"--disable-ffmpeg_a"
|
||||||
|
"--yasm=${buildPackages.yasm}/bin/yasm"
|
||||||
|
# Note, the `target` vs `host` confusion is intensional.
|
||||||
|
"--target=${stdenv.hostPlatform.config}"
|
||||||
|
] ++ optional
|
||||||
|
(useUnfreeCodecs && codecs != null && !crossBuild)
|
||||||
|
"--codecsdir=${codecs}"
|
||||||
|
++ optional
|
||||||
|
((stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) && !crossBuild)
|
||||||
|
"--enable-runtime-cpudetection"
|
||||||
|
++ optional fribidiSupport "--enable-fribidi"
|
||||||
|
++ optional stdenv.isLinux "--enable-vidix"
|
||||||
|
++ optional stdenv.isLinux "--enable-fbdev"
|
||||||
|
++ optionals (crossBuild) [
|
||||||
|
"--enable-cross-compile"
|
||||||
|
"--disable-vidix-pcidb"
|
||||||
|
"--with-vidix-drivers=no"
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
configureFlagsArray+=(
|
||||||
|
"--cc=$CC"
|
||||||
|
"--host-cc=$CC_FOR_BUILD"
|
||||||
|
"--as=$AS"
|
||||||
|
"--nm=$NM"
|
||||||
|
"--ar=$AR"
|
||||||
|
"--ranlib=$RANLIB"
|
||||||
|
"--windres=$WINDRES"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
postConfigure = ''
|
||||||
|
echo CONFIG_MPEGAUDIODSP=yes >> config.mak
|
||||||
|
'';
|
||||||
|
|
||||||
|
NIX_LDFLAGS = with stdenv.lib; toString (
|
||||||
|
optional fontconfigSupport "-lfontconfig"
|
||||||
|
++ optional fribidiSupport "-lfribidi"
|
||||||
|
++ optionals x11Support [ "-lX11" "-lXext" ]
|
||||||
|
++ [ "-lfreetype" ]
|
||||||
|
);
|
||||||
|
|
||||||
|
installTargets = [ "install" ] ++ stdenv.lib.optional x11Support "install-gui";
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
# Provide a reasonable standard font when not using fontconfig. Maybe we should symlink here.
|
||||||
|
postInstall = stdenv.lib.optionalString (!fontconfigSupport)
|
||||||
|
''
|
||||||
|
mkdir -p $out/share/mplayer
|
||||||
|
cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf
|
||||||
|
if test -f $out/share/applications/mplayer.desktop ; then
|
||||||
|
echo "NoDisplay=True" >> $out/share/applications/mplayer.desktop
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A movie player that supports many video formats";
|
||||||
|
homepage = "http://mplayerhq.hu";
|
||||||
|
license = "GPL";
|
||||||
|
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||||
|
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,6 +8,8 @@ in
|
||||||
(
|
(
|
||||||
self: super:
|
self: super:
|
||||||
rec {
|
rec {
|
||||||
|
lolcommits = super.callPackage ./ov/lolcommits-nixpkgs {mplayer = mplayerV4l;};
|
||||||
|
mplayerV4l = super.callPackage ./ov/mplayer.nix {v4lSupport = true;};
|
||||||
#jami-ring-daemon = super.qt5.callPackage ./ov/jami/ring-daemon.nix {};
|
#jami-ring-daemon = super.qt5.callPackage ./ov/jami/ring-daemon.nix {};
|
||||||
#seafile-server = unstable.seafile-server;
|
#seafile-server = unstable.seafile-server;
|
||||||
myVim = with super; (vim_configurable.override { python = python3; }).customize {
|
myVim = with super; (vim_configurable.override { python = python3; }).customize {
|
||||||
|
|
Loading…
Reference in a new issue