Merge remote-tracking branch 'origin/master' into staging
Conflicts: pkgs/development/libraries/poppler/default.nix
This commit is contained in:
commit
09dc132e04
@ -1,3 +1,5 @@
|
||||
language: python
|
||||
python: "3.4"
|
||||
script: ./maintainers/scripts/travis-nox-review-pr.sh
|
||||
before_install: ./maintainers/scripts/travis-nox-review-pr.sh nix
|
||||
install: ./maintainers/scripts/travis-nox-review-pr.sh nox
|
||||
script: ./maintainers/scripts/travis-nox-review-pr.sh build
|
||||
|
@ -116,6 +116,13 @@ hello-2.3 A program that produces a familiar, friendly greeting
|
||||
<listitem><para>Package version.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>branch</varname></term>
|
||||
<listitem><para>Release branch. Used to specify that a package is not
|
||||
going to receive updates that are not in this branch; for example, Linux
|
||||
kernel 3.0 is supposed to be updated to 3.0.X, not 3.1.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>homepage</varname></term>
|
||||
<listitem><para>The package’s homepage. Example:
|
||||
|
@ -150,8 +150,8 @@ genericBuild
|
||||
|
||||
<listitem><para>GNU <command>tar</command>.</para></listitem>
|
||||
|
||||
<listitem><para><command>gzip</command> and
|
||||
<command>bzip2</command>.</para></listitem>
|
||||
<listitem><para><command>gzip</command>, <command>bzip2</command>
|
||||
and <command>xz</command>.</para></listitem>
|
||||
|
||||
<listitem><para>GNU Make. It has been patched to provide
|
||||
<quote>nested</quote> output that can be fed into the
|
||||
@ -341,9 +341,11 @@ It supports the following files by default:
|
||||
<term>Tar files</term>
|
||||
<listitem><para>These can optionally be compressed using
|
||||
<command>gzip</command> (<filename>.tar.gz</filename>,
|
||||
<filename>.tgz</filename> or <filename>.tar.Z</filename>) or
|
||||
<filename>.tgz</filename> or <filename>.tar.Z</filename>),
|
||||
<command>bzip2</command> (<filename>.tar.bz2</filename> or
|
||||
<filename>.tbz2</filename>).</para></listitem>
|
||||
<filename>.tbz2</filename>) or <command>xz</command>
|
||||
(<filename>.tar.xz</filename> or
|
||||
<filename>.tar.lzma</filename>).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -445,9 +447,10 @@ Additional file types can be supported by setting the
|
||||
<listitem><para>The list of patches. They must be in the format
|
||||
accepted by the <command>patch</command> command, and may
|
||||
optionally be compressed using <command>gzip</command>
|
||||
(<filename>.gz</filename>) or <command>bzip2</command>
|
||||
(<filename>.bz2</filename>).</para></listitem>
|
||||
</varlistentry>
|
||||
(<filename>.gz</filename>), <command>bzip2</command>
|
||||
(<filename>.bz2</filename>) or <command>xz</command>
|
||||
(<filename>.xz</filename>).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>patchFlags</varname></term>
|
||||
|
@ -72,6 +72,11 @@ rec {
|
||||
fullName = "Creative Commons Attribution 3.0";
|
||||
};
|
||||
|
||||
cc-by-sa-30 = spdx {
|
||||
shortName = "CC-BY-SA-3.0";
|
||||
fullName = "Creative Commons Attribution Share Alike 3.0";
|
||||
};
|
||||
|
||||
cc-by-40 = spdx {
|
||||
shortName = "CC-BY-4.0";
|
||||
fullName = "Creative Commons Attribution 4.0";
|
||||
|
@ -18,6 +18,7 @@
|
||||
antono = "Antono Vasiljev <self@antono.info>";
|
||||
aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
|
||||
arobyn = "Alexei Robyn <shados@shados.net>";
|
||||
asppsa = "Alastair Pharo <asppsa@gmail.com>";
|
||||
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
||||
aszlig = "aszlig <aszlig@redmoonstudios.org>";
|
||||
auntie = "Jonathan Glines <auntieNeo@gmail.com>";
|
||||
@ -37,7 +38,9 @@
|
||||
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
|
||||
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
|
||||
chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
|
||||
christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
|
||||
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
|
||||
codyopel = "Cody Opel <codyopel@gmail.com>";
|
||||
copumpkin = "Dan Peebles <pumpkingod@gmail.com>";
|
||||
coroa = "Jonas Hörsch <jonas@chaoflow.net>";
|
||||
cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>";
|
||||
@ -66,6 +69,7 @@
|
||||
ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
|
||||
iElectric = "Domen Kozar <domen@dev.si>";
|
||||
iyzsong = "Song Wenwu <iyzsong@gmail.com>";
|
||||
jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
|
||||
jcumming = "Jack Cummings <jack@mudshark.org>";
|
||||
jgeerds = "Jascha Geerds <jg@ekby.de>";
|
||||
joamaki = "Jussi Maki <joamaki@gmail.com>";
|
||||
@ -73,6 +77,7 @@
|
||||
jwiegley = "John Wiegley <johnw@newartisans.com>";
|
||||
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
|
||||
koral = "Koral <koral@mailoo.org>";
|
||||
kragniz = "Louis Taylor <kragniz@gmail.com>";
|
||||
ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
|
||||
lethalman = "Luca Bruno <lucabru@src.gnome.org>";
|
||||
lhvwb = "Nathaniel Baxter <nathaniel.baxter@gmail.com>";
|
||||
@ -117,6 +122,7 @@
|
||||
rycee = "Robert Helgesson <robert@rycee.net>";
|
||||
sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
|
||||
sepi = "Raffael Mancini <raffael@mancini.lu>";
|
||||
shell = "Shell Turner <cam.turn@gmail.com>";
|
||||
shlevy = "Shea Levy <shea@shealevy.com>";
|
||||
simons = "Peter Simons <simons@cryp.to>";
|
||||
skeidel = "Sven Keidel <svenkeidel@gmail.com>";
|
||||
@ -138,6 +144,7 @@
|
||||
viric = "Lluís Batlle i Rossell <viric@viric.name>";
|
||||
vizanto = "Danny Wilson <danny@prime.vc>";
|
||||
vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
|
||||
vozz = "Oliver Hunt <oliver.huntuk@gmail.com>";
|
||||
winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
|
||||
wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
|
||||
wjlroe = "William Roe <willroe@gmail.com>";
|
||||
|
@ -1,29 +1,42 @@
|
||||
#! /usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# Install Nix
|
||||
bash <(curl https://nixos.org/nix/install)
|
||||
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
||||
export NIX_CURL_FLAGS=-sS
|
||||
|
||||
# Make sure we can use hydra's binary cache
|
||||
sudo mkdir /etc/nix
|
||||
sudo tee /etc/nix/nix.conf <<EOF
|
||||
if [[ $1 == nix ]]; then
|
||||
echo "=== Installing Nix..."
|
||||
# Install Nix
|
||||
bash <(curl -sS https://nixos.org/nix/install)
|
||||
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
||||
|
||||
# Make sure we can use hydra's binary cache
|
||||
sudo mkdir /etc/nix
|
||||
sudo tee /etc/nix/nix.conf <<EOF >/dev/null
|
||||
binary-caches = http://cache.nixos.org http://hydra.nixos.org
|
||||
trusted-binary-caches = http://hydra.nixos.org
|
||||
build-max-jobs = 4
|
||||
EOF
|
||||
|
||||
if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
|
||||
echo "Not a pull request, checking evaluation"
|
||||
nix-build pkgs/top-level/release.nix -A tarball
|
||||
exit 0
|
||||
# Verify evaluation
|
||||
echo "=== Verifying that nixpkgs evaluates..."
|
||||
nix-env -f. -qa --json >/dev/null
|
||||
elif [[ $1 == nox ]]; then
|
||||
echo "=== Installing nox..."
|
||||
git clone -q https://github.com/madjar/nox
|
||||
pip --quiet install -e nox
|
||||
elif [[ $1 == build ]]; then
|
||||
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
||||
|
||||
if [[ $TRAVIS_PULL_REQUEST == false ]]; then
|
||||
echo "===> Not a pull request, checking evaluation"
|
||||
nix-build pkgs/top-level/release.nix -A tarball
|
||||
else
|
||||
echo "=== Checking PR"
|
||||
# The current HEAD is the PR merged into origin/master, so we compare
|
||||
# against origin/master
|
||||
nox-review wip --against origin/master
|
||||
fi
|
||||
else
|
||||
echo "$0: Unknown option $1" >&2
|
||||
false
|
||||
fi
|
||||
|
||||
echo "Installing nox"
|
||||
git clone https://github.com/madjar/nox
|
||||
pip --quiet install -e nox
|
||||
|
||||
echo "Reviewing PR"
|
||||
# The current HEAD is the PR merged into origin/master, so we compare
|
||||
# against origin/master
|
||||
nox-review wip --against origin/master
|
||||
|
@ -1,3 +1,6 @@
|
||||
viric viriketo@gmail.com
|
||||
Pjotr Prins pjotr.public01@thebird.nl
|
||||
Pjotr Prins pjotr.public05@thebird.nl
|
||||
Wouter den Breejen wbreejen
|
||||
MarcWeber marcweber
|
||||
Ricardo Correia Ricardo M. Correia
|
||||
|
@ -3,7 +3,8 @@
|
||||
export LANG=C LC_ALL=C LC_COLLATE=C
|
||||
|
||||
# Load git log
|
||||
git_data="$(git log | grep 'Author:' |
|
||||
raw_git_log="$(git log)"
|
||||
git_data="$(echo "$raw_git_log" | grep 'Author:' |
|
||||
sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
|
||||
s/ @ .*//; s/ *[<]/\t/; s/[>]//')"
|
||||
|
||||
@ -13,15 +14,44 @@ maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" |
|
||||
grep '=' | sed -re 's/\\"/''/g;
|
||||
s/ *([^ =]*) *= *" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')"
|
||||
git_lines="$( ( echo "$git_data";
|
||||
cat vanity-manual-equalities.txt) | sort |uniq)"
|
||||
cat "$(dirname "$0")/vanity-manual-equalities.txt") | sort |uniq)"
|
||||
|
||||
emails="$(
|
||||
( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) |
|
||||
sort | uniq | grep -E ".+@.+[.].+"
|
||||
)"
|
||||
|
||||
fetchGithubName () {
|
||||
commitid="$(
|
||||
echo "$raw_git_log" | grep -B3 "Author: .*[<]$1[>]" | head -n 3 |
|
||||
grep '^commit ' | tail -n 1 | sed -e 's/^commit //'
|
||||
)"
|
||||
userid="$(
|
||||
curl https://github.com/NixOS/nixpkgs/commit/"$commitid" 2>/dev/null |
|
||||
grep authored -B10 | grep 'href="/' |
|
||||
sed -re 's@.* href="/@@; s@".*@@' |
|
||||
grep -v "/commit/"
|
||||
)";
|
||||
echo "$userid"
|
||||
}
|
||||
|
||||
[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && {
|
||||
echo "$emails" | while read email; do
|
||||
line="$(grep "$email " "$NIXPKGS_GITHUB_NAME_CACHE")"
|
||||
[ -z "$line" ] && {
|
||||
echo "$email $(fetchGithubName "$email")" >> \
|
||||
"$NIXPKGS_GITHUB_NAME_CACHE"
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
# For RDF
|
||||
normalize_name () {
|
||||
sed -e 's/ /_/g; s/'\''/*/g; s/"/**/g;'
|
||||
sed -e 's/%/%25/g; s/ /%20/g; s/'\''/%27/g; s/"/%22/g;'
|
||||
}
|
||||
|
||||
denormalize_name () {
|
||||
sed -e 's/_/ /g; s/[*][*]/"/g; s/[*]/'\''/g;'
|
||||
sed -e 's/%20/ /g; s/%27/'\''/g; s/%22/"/g; s/%25/%/g;';
|
||||
}
|
||||
|
||||
n3="$(mktemp --suffix .n3)"
|
||||
@ -37,6 +67,9 @@ echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\3> <my://can-be> <
|
||||
echo "$git_lines" | grep ' ' | cut -f 1 | sed -e 's@.*@<my://name/&> <my://is-name> <my://0>.@'
|
||||
echo "$git_lines" | grep -v ' ' | cut -f 1 | sed -e 's@.*@<my://name/&> <my://is-name> <my://1>.@'
|
||||
echo "$maintainers" | cut -f 2 | sed -e 's@.*@<my://name/&> <my://is-name> <my://0>.@'
|
||||
[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && cat "$NIXPKGS_GITHUB_NAME_CACHE" |
|
||||
grep -v " $" |
|
||||
sed -re 's@(.*)\t(.*)@<my://name/\1> <my://at-github> <my://github/\2>.@'
|
||||
) | normalize_name | grep -E '<my://[-a-z]+>' | sort | uniq > "$n3"
|
||||
|
||||
# Get transitive closure
|
||||
@ -51,6 +84,14 @@ name_list="$(
|
||||
sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' |
|
||||
sort -k 2,3 -t ' '
|
||||
)"
|
||||
github_name_list="$(
|
||||
"$sparql" --results=TSV --data="$n3" "
|
||||
select ?x ?y where {
|
||||
?x (<my://can-be>+ / <my://at-github>) ?y.
|
||||
}
|
||||
" | tail -n +2 |
|
||||
sed -re 's@<my://(name|github)/@@g; s@<my://@@g; s@>@@g;'
|
||||
)"
|
||||
|
||||
# Take first spelling option for every person
|
||||
name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)"
|
||||
@ -58,8 +99,24 @@ name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)"
|
||||
cleaner_script="$(echo "$name_list_canonical" | denormalize_name |
|
||||
sed -re 's/(.*)\t(.*)/s#^\2$#\1#g/g')"
|
||||
|
||||
# Add github usernames
|
||||
if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then
|
||||
github_adder_script="$(echo "$github_name_list" |
|
||||
grep -E "$(echo "$name_list_canonical" | cut -f 2 |
|
||||
tr '\n' '|' )" |
|
||||
sort | uniq |
|
||||
sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' |
|
||||
denormalize_name
|
||||
)"
|
||||
else
|
||||
github_adder_script=''
|
||||
fi
|
||||
|
||||
echo "$name_list" | denormalize_name
|
||||
|
||||
echo
|
||||
|
||||
echo "$git_data" | cut -f 1 | sed -re "$cleaner_script" | sort | uniq -c | sort -k1n
|
||||
echo "$git_data" | cut -f 1 |
|
||||
sed -re "$cleaner_script" |
|
||||
sort | uniq -c | sort -k1n | sed -re "$github_adder_script" |
|
||||
sed -re 's/^ *([0-9]+) /\1\t/'
|
||||
|
@ -12,7 +12,7 @@ let
|
||||
|
||||
# Forces 32bit pulseaudio and alsaPlugins to be built/supported for apps
|
||||
# using 32bit alsa on 64bit linux.
|
||||
enable32BitAlsaPlugins = stdenv.isx86_64 && (pkgs_i686.alsaLib != null);
|
||||
enable32BitAlsaPlugins = stdenv.isx86_64 && (pkgs_i686.alsaLib != null && pkgs_i686.pulseaudio != null);
|
||||
|
||||
ids = config.ids;
|
||||
|
||||
@ -126,8 +126,7 @@ in {
|
||||
(mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
cfg.package
|
||||
(lib.optional enable32BitAlsaPlugins pkgs_i686.pulseaudio)
|
||||
];
|
||||
] ++ lib.optionals enable32BitAlsaPlugins [ pkgs_i686.pulseaudio ];
|
||||
|
||||
environment.etc = singleton {
|
||||
target = "asound.conf";
|
||||
|
@ -154,6 +154,10 @@
|
||||
collectd = 144;
|
||||
consul = 145;
|
||||
mailpile = 146;
|
||||
redmine = 147;
|
||||
seeks = 148;
|
||||
|
||||
prosody = 148;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
@ -275,6 +279,10 @@
|
||||
riemanndash = 138;
|
||||
uhub = 142;
|
||||
mailpile = 146;
|
||||
redmine = 147;
|
||||
seeks = 148;
|
||||
|
||||
prosody = 148;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!
|
||||
|
||||
|
@ -174,6 +174,7 @@
|
||||
./services/misc/nixos-manual.nix
|
||||
./services/misc/nix-ssh-serve.nix
|
||||
./services/misc/phd.nix
|
||||
./services/misc/redmine.nix
|
||||
./services/misc/rippled.nix
|
||||
./services/misc/rogue.nix
|
||||
./services/misc/siproxd.nix
|
||||
@ -250,6 +251,7 @@
|
||||
./services/networking/polipo.nix
|
||||
./services/networking/prayer.nix
|
||||
./services/networking/privoxy.nix
|
||||
./services/networking/prosody.nix
|
||||
./services/networking/quassel.nix
|
||||
./services/networking/radicale.nix
|
||||
./services/networking/radvd.nix
|
||||
@ -257,6 +259,7 @@
|
||||
./services/networking/rpcbind.nix
|
||||
./services/networking/sabnzbd.nix
|
||||
./services/networking/searx.nix
|
||||
./services/networking/seeks.nix
|
||||
./services/networking/spiped.nix
|
||||
./services/networking/ssh/lshd.nix
|
||||
./services/networking/ssh/sshd.nix
|
||||
|
@ -130,5 +130,6 @@ in zipModules ([]
|
||||
++ obsolete' [ "boot" "initrd" "luks" "enable" ]
|
||||
++ obsolete' [ "programs" "bash" "enable" ]
|
||||
++ obsolete' [ "services" "samba" "defaultShare" ]
|
||||
++ obsolete' [ "services" "syslog-ng" "serviceName" ]
|
||||
|
||||
)
|
||||
|
@ -21,6 +21,7 @@ in
|
||||
|
||||
config = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
description = ''
|
||||
The contents of the logrotate config file
|
||||
'';
|
||||
|
@ -4,6 +4,9 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.logstash;
|
||||
pluginPath = lib.concatStringsSep ":" cfg.plugins;
|
||||
havePluginPath = lib.length cfg.plugins > 0;
|
||||
ops = lib.optionalString;
|
||||
|
||||
in
|
||||
|
||||
@ -20,12 +23,50 @@ in
|
||||
description = "Enable logstash.";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.logstash;
|
||||
example = literalExample "pkgs.logstash";
|
||||
description = "Logstash package to use.";
|
||||
};
|
||||
|
||||
plugins = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ ];
|
||||
example = literalExample "[ pkgs.logstash-contrib ]";
|
||||
description = "The paths to find other logstash plugins in.";
|
||||
};
|
||||
|
||||
watchdogTimeout = mkOption {
|
||||
type = types.int;
|
||||
default = 10;
|
||||
description = "Set watchdog timeout value in seconds.";
|
||||
};
|
||||
|
||||
filterWorkers = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
description = "The quantity of filter workers to run.";
|
||||
};
|
||||
|
||||
enableWeb = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable the logstash web interface.";
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "0.0.0.0";
|
||||
description = "Address on which to start webserver.";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.str;
|
||||
default = "9292";
|
||||
description = "Port on which to start webserver.";
|
||||
};
|
||||
|
||||
inputConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = ''stdin { type => "example" }'';
|
||||
@ -79,19 +120,25 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = { JAVA_HOME = jre; };
|
||||
serviceConfig = {
|
||||
ExecStart = "${logstash}/bin/logstash agent -f ${writeText "logstash.conf" ''
|
||||
input {
|
||||
${cfg.inputConfig}
|
||||
}
|
||||
ExecStart =
|
||||
"${cfg.package}/bin/logstash agent " +
|
||||
"-w ${toString cfg.filterWorkers} " +
|
||||
ops havePluginPath "--pluginpath ${pluginPath} " +
|
||||
"--watchdog-timeout ${toString cfg.watchdogTimeout} " +
|
||||
"-f ${writeText "logstash.conf" ''
|
||||
input {
|
||||
${cfg.inputConfig}
|
||||
}
|
||||
|
||||
filter {
|
||||
${cfg.filterConfig}
|
||||
}
|
||||
filter {
|
||||
${cfg.filterConfig}
|
||||
}
|
||||
|
||||
output {
|
||||
${cfg.outputConfig}
|
||||
}
|
||||
''} ${optionalString cfg.enableWeb "-- web"}";
|
||||
output {
|
||||
${cfg.outputConfig}
|
||||
}
|
||||
''} " +
|
||||
ops cfg.enableWeb "-- web -a ${cfg.address} -p ${cfg.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -7,8 +7,7 @@ let
|
||||
cfg = config.services.syslog-ng;
|
||||
|
||||
syslogngConfig = pkgs.writeText "syslog-ng.conf" ''
|
||||
@version: 3.5
|
||||
@include "scl.conf"
|
||||
${cfg.configHeader}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
@ -44,13 +43,13 @@ in {
|
||||
The package providing syslog-ng binaries.
|
||||
'';
|
||||
};
|
||||
serviceName = mkOption {
|
||||
type = types.str;
|
||||
default = "syslog-ng";
|
||||
listenToJournal = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
The name of the systemd service that runs syslog-ng. Set this to
|
||||
<literal>syslog</literal> if you want journald to automatically
|
||||
forward all logs to syslog-ng.
|
||||
Whether syslog-ng should listen to the syslog socket used
|
||||
by journald, and therefore receive all logs that journald
|
||||
produces.
|
||||
'';
|
||||
};
|
||||
extraModulePaths = mkOption {
|
||||
@ -72,16 +71,33 @@ in {
|
||||
Configuration added to the end of <literal>syslog-ng.conf</literal>.
|
||||
'';
|
||||
};
|
||||
configHeader = mkOption {
|
||||
type = types.lines;
|
||||
default = ''
|
||||
@version: 3.5
|
||||
@include "scl.conf"
|
||||
'';
|
||||
description = ''
|
||||
The very first lines of the configuration file. Should usually contain
|
||||
the syslog-ng version header.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services."${cfg.serviceName}" = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
systemd.sockets.syslog = mkIf cfg.listenToJournal {
|
||||
wantedBy = [ "sockets.target" ];
|
||||
socketConfig.Service = "syslog-ng.service";
|
||||
};
|
||||
systemd.services.syslog-ng = {
|
||||
description = "syslog-ng daemon";
|
||||
preStart = "mkdir -p /{var,run}/syslog-ng";
|
||||
wantedBy = optional (!cfg.listenToJournal) "multi-user.target";
|
||||
after = [ "multi-user.target" ]; # makes sure hostname etc is set
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
Sockets = "syslog.socket";
|
||||
Sockets = if cfg.listenToJournal then "syslog.socket" else null;
|
||||
StandardOutput = "null";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";
|
||||
|
222
nixos/modules/services/misc/redmine.nix
Normal file
222
nixos/modules/services/misc/redmine.nix
Normal file
@ -0,0 +1,222 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
# TODO: support non-postgresql
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.redmine;
|
||||
|
||||
ruby = pkgs.ruby;
|
||||
rubyLibs = pkgs.rubyLibs;
|
||||
|
||||
databaseYml = ''
|
||||
production:
|
||||
adapter: postgresql
|
||||
database: ${cfg.databaseName}
|
||||
host: ${cfg.databaseHost}
|
||||
password: ${cfg.databasePassword}
|
||||
username: ${cfg.databaseUsername}
|
||||
encoding: utf8
|
||||
'';
|
||||
|
||||
configurationYml = ''
|
||||
default:
|
||||
# Absolute path to the directory where attachments are stored.
|
||||
# The default is the 'files' directory in your Redmine instance.
|
||||
# Your Redmine instance needs to have write permission on this
|
||||
# directory.
|
||||
# Examples:
|
||||
# attachments_storage_path: /var/redmine/files
|
||||
# attachments_storage_path: D:/redmine/files
|
||||
attachments_storage_path: ${cfg.stateDir}/files
|
||||
|
||||
# Absolute path to the SCM commands errors (stderr) log file.
|
||||
# The default is to log in the 'log' directory of your Redmine instance.
|
||||
# Example:
|
||||
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
|
||||
scm_stderr_log_file: ${cfg.stateDir}/redmine_scm_stderr.log
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
unpackTheme = unpack "theme";
|
||||
unpackPlugin = unpack "plugin";
|
||||
unpack = id: (name: source:
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "redmine-${id}-${name}";
|
||||
buildInputs = [ pkgs.unzip ];
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
cd $out
|
||||
unpackFile ${source}
|
||||
'';
|
||||
});
|
||||
|
||||
in {
|
||||
|
||||
options = {
|
||||
services.redmine = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable the redmine service.
|
||||
'';
|
||||
};
|
||||
|
||||
stateDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/redmine";
|
||||
description = "The state directory, logs and plugins are stored here";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Extra configuration in configuration.yml";
|
||||
};
|
||||
|
||||
themes = mkOption {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
description = "Set of themes";
|
||||
};
|
||||
|
||||
plugins = mkOption {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
description = "Set of plugins";
|
||||
};
|
||||
|
||||
#databaseType = mkOption {
|
||||
# type = types.str;
|
||||
# default = "postgresql";
|
||||
# description = "Type of database";
|
||||
#};
|
||||
|
||||
databaseHost = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = "Database hostname";
|
||||
};
|
||||
|
||||
databasePassword = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Database user password";
|
||||
};
|
||||
|
||||
databaseName = mkOption {
|
||||
type = types.str;
|
||||
default = "redmine";
|
||||
description = "Database name";
|
||||
};
|
||||
|
||||
databaseUsername = mkOption {
|
||||
type = types.str;
|
||||
default = "redmine";
|
||||
description = "Database user";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
assertions = [
|
||||
{ assertion = cfg.databasePassword != "";
|
||||
message = "databasePassword must be set";
|
||||
}
|
||||
];
|
||||
|
||||
users.extraUsers = [
|
||||
{ name = "redmine";
|
||||
group = "redmine";
|
||||
uid = config.ids.uids.redmine;
|
||||
} ];
|
||||
|
||||
users.extraGroups = [
|
||||
{ name = "redmine";
|
||||
gid = config.ids.gids.redmine;
|
||||
} ];
|
||||
|
||||
systemd.services.redmine = {
|
||||
after = [ "network.target" "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment.RAILS_ENV = "production";
|
||||
environment.RAILS_ETC = "${cfg.stateDir}/config";
|
||||
environment.RAILS_LOG = "${cfg.stateDir}/log";
|
||||
environment.RAILS_VAR = "${cfg.stateDir}/var";
|
||||
environment.RAILS_CACHE = "${cfg.stateDir}/cache";
|
||||
environment.RAILS_PLUGINS = "${cfg.stateDir}/plugins";
|
||||
environment.RAILS_PUBLIC = "${cfg.stateDir}/public";
|
||||
environment.RAILS_TMP = "${cfg.stateDir}/tmp";
|
||||
environment.SCHEMA = "${cfg.stateDir}/cache/schema.db";
|
||||
environment.HOME = "${pkgs.redmine}/share/redmine";
|
||||
environment.REDMINE_LANG = "en";
|
||||
environment.GEM_HOME = "${pkgs.redmine}/share/redmine/vendor/bundle/ruby/1.9.1";
|
||||
environment.GEM_PATH = "${rubyLibs.bundler}/lib/ruby/gems/1.9";
|
||||
path = with pkgs; [
|
||||
imagemagickBig
|
||||
subversion
|
||||
mercurial
|
||||
cvs
|
||||
config.services.postgresql.package
|
||||
bazaar
|
||||
gitAndTools.git
|
||||
# once we build binaries for darc enable it
|
||||
#darcs
|
||||
];
|
||||
preStart = ''
|
||||
# TODO: use env vars
|
||||
for i in plugins public/plugin_assets db files log config cache var/files tmp; do
|
||||
mkdir -p ${cfg.stateDir}/$i
|
||||
done
|
||||
|
||||
chown -R redmine:redmine ${cfg.stateDir}
|
||||
chmod -R 755 ${cfg.stateDir}
|
||||
|
||||
rm -rf ${cfg.stateDir}/public/*
|
||||
cp -R ${pkgs.redmine}/share/redmine/public/* ${cfg.stateDir}/public/
|
||||
for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do
|
||||
ln -fs $theme/* ${cfg.stateDir}/public/themes/
|
||||
done
|
||||
|
||||
rm -rf ${cfg.stateDir}/plugins/*
|
||||
for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do
|
||||
ln -fs $plugin/* ${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}
|
||||
done
|
||||
|
||||
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml
|
||||
ln -fs ${pkgs.writeText "configuration.yml" configurationYml} ${cfg.stateDir}/config/configuration.yml
|
||||
|
||||
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
|
||||
if ! test -e "${cfg.stateDir}/db-created"; then
|
||||
psql postgres -c "CREATE ROLE redmine WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
|
||||
${config.services.postgresql.package}/bin/createdb --owner redmine redmine || true
|
||||
touch "${cfg.stateDir}/db-created"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ${pkgs.redmine}/share/redmine/
|
||||
${ruby}/bin/rake db:migrate
|
||||
${ruby}/bin/rake redmine:plugins:migrate
|
||||
${ruby}/bin/rake redmine:load_default_data
|
||||
${ruby}/bin/rake generate_secret_token
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
PermissionsStartOnly = true; # preStart must be run as root
|
||||
Type = "simple";
|
||||
User = "redmine";
|
||||
Group = "redmine";
|
||||
TimeoutSec = "300";
|
||||
WorkingDirectory = "${pkgs.redmine}/share/redmine";
|
||||
ExecStart="${ruby}/bin/ruby ${pkgs.redmine}/share/redmine/script/rails server webrick -e production -P ${cfg.stateDir}/redmine.pid";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -64,6 +64,13 @@ in
|
||||
Use fixed port for rpc.mountd, usefull if server is behind firewall.
|
||||
'';
|
||||
};
|
||||
|
||||
lockdPort = mkOption {
|
||||
default = 0;
|
||||
description = ''
|
||||
Fix the lockd port number. This can help setting firewall rules for NFS.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@ -104,6 +111,9 @@ in
|
||||
# Create a state directory required by NFSv4.
|
||||
mkdir -p /var/lib/nfs/v4recovery
|
||||
|
||||
${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_tcpport=${builtins.toString cfg.lockdPort}
|
||||
${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_udpport=${builtins.toString cfg.lockdPort}
|
||||
|
||||
rpc.nfsd \
|
||||
${if cfg.hostName != null then "-H ${cfg.hostName}" else ""} \
|
||||
${builtins.toString cfg.nproc}
|
||||
|
280
nixos/modules/services/networking/prosody.nix
Normal file
280
nixos/modules/services/networking/prosody.nix
Normal file
@ -0,0 +1,280 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.prosody;
|
||||
|
||||
sslOpts = { ... }: {
|
||||
|
||||
options = {
|
||||
|
||||
# TODO: require attribute
|
||||
key = mkOption {
|
||||
type = types.str;
|
||||
description = "Path to the key file";
|
||||
};
|
||||
|
||||
# TODO: require attribute
|
||||
cert = mkOption {
|
||||
type = types.str;
|
||||
description = "Path to the certificate file";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
moduleOpts = {
|
||||
|
||||
roster = mkOption {
|
||||
default = true;
|
||||
description = "Allow users to have a roster";
|
||||
};
|
||||
|
||||
saslauth = mkOption {
|
||||
default = true;
|
||||
description = "Authentication for clients and servers. Recommended if you want to log in.";
|
||||
};
|
||||
|
||||
tls = mkOption {
|
||||
default = true;
|
||||
description = "Add support for secure TLS on c2s/s2s connections";
|
||||
};
|
||||
|
||||
dialback = mkOption {
|
||||
default = true;
|
||||
description = "s2s dialback support";
|
||||
};
|
||||
|
||||
disco = mkOption {
|
||||
default = true;
|
||||
description = "Service discovery";
|
||||
};
|
||||
|
||||
legacyauth = mkOption {
|
||||
default = true;
|
||||
description = "Legacy authentication. Only used by some old clients and bots";
|
||||
};
|
||||
|
||||
version = mkOption {
|
||||
default = true;
|
||||
description = "Replies to server version requests";
|
||||
};
|
||||
|
||||
uptime = mkOption {
|
||||
default = true;
|
||||
description = "Report how long server has been running";
|
||||
};
|
||||
|
||||
time = mkOption {
|
||||
default = true;
|
||||
description = "Let others know the time here on this server";
|
||||
};
|
||||
|
||||
ping = mkOption {
|
||||
default = true;
|
||||
description = "Replies to XMPP pings with pongs";
|
||||
};
|
||||
|
||||
console = mkOption {
|
||||
default = false;
|
||||
description = "telnet to port 5582";
|
||||
};
|
||||
|
||||
bosh = mkOption {
|
||||
default = false;
|
||||
description = "Enable BOSH clients, aka 'Jabber over HTTP'";
|
||||
};
|
||||
|
||||
httpserver = mkOption {
|
||||
default = false;
|
||||
description = "Serve static files from a directory over HTTP";
|
||||
};
|
||||
|
||||
websocket = mkOption {
|
||||
default = false;
|
||||
description = "Enable WebSocket support";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
createSSLOptsStr = o:
|
||||
if o ? key && o ? cert then
|
||||
''ssl = { key = "${o.key}"; certificate = "${o.cert}"; };''
|
||||
else "";
|
||||
|
||||
vHostOpts = { ... }: {
|
||||
|
||||
options = {
|
||||
|
||||
# TODO: require attribute
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
description = "Domain name";
|
||||
};
|
||||
|
||||
enabled = mkOption {
|
||||
default = false;
|
||||
description = "Whether to enable the virtual host";
|
||||
};
|
||||
|
||||
ssl = mkOption {
|
||||
description = "Paths to SSL files";
|
||||
default = null;
|
||||
options = [ sslOpts ];
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = '''';
|
||||
description = "Additional virtual host specific configuration";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.prosody = {
|
||||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = "Whether to enable the prosody server";
|
||||
};
|
||||
|
||||
allowRegistration = mkOption {
|
||||
default = false;
|
||||
description = "Allow account creation";
|
||||
};
|
||||
|
||||
modules = moduleOpts;
|
||||
|
||||
extraModules = mkOption {
|
||||
description = "Enable custom modules";
|
||||
default = [];
|
||||
};
|
||||
|
||||
virtualHosts = mkOption {
|
||||
|
||||
description = "Define the virtual hosts";
|
||||
|
||||
type = types.loaOf types.optionSet;
|
||||
|
||||
example = {
|
||||
myhost = {
|
||||
domain = "my-xmpp-example-host.org";
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
default = {
|
||||
localhost = {
|
||||
domain = "localhost";
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
options = [ vHostOpts ];
|
||||
};
|
||||
|
||||
ssl = mkOption {
|
||||
description = "Paths to SSL files";
|
||||
default = null;
|
||||
options = [ sslOpts ];
|
||||
};
|
||||
|
||||
admins = mkOption {
|
||||
description = "List of administrators of the current host";
|
||||
example = [ "admin1@example.com" "admin2@example.com" ];
|
||||
default = [];
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = '''';
|
||||
description = "Additional prosody configuration";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.prosody ];
|
||||
|
||||
environment.etc."prosody/prosody.cfg.lua".text = ''
|
||||
|
||||
pidfile = "/var/lib/prosody/prosody.pid"
|
||||
|
||||
|
||||
log = "*syslog"
|
||||
|
||||
data_path = "/var/lib/prosody"
|
||||
|
||||
allow_registration = ${ if cfg.allowRegistration then "true" else "false" };
|
||||
|
||||
${ optionalString cfg.modules.console "console_enabled = true;" }
|
||||
|
||||
${ optionalString (cfg.ssl != null) (createSSLOptsStr cfg.ssl) }
|
||||
|
||||
admins = { ${lib.concatStringsSep ", " (map (n: "\"${n}\"") cfg.admins) } };
|
||||
|
||||
modules_enabled = {
|
||||
|
||||
${ lib.concatStringsSep "\n\ \ " (lib.mapAttrsToList
|
||||
(name: val: optionalString val ''"${name}";'')
|
||||
cfg.modules) }
|
||||
|
||||
${ optionalString cfg.allowRegistration "\"register\"\;" }
|
||||
|
||||
${ lib.concatStringsSep "\n" (map (x: "\"${x}\";") cfg.extraModules)}
|
||||
|
||||
"posix";
|
||||
};
|
||||
|
||||
${ cfg.extraConfig }
|
||||
|
||||
${ lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: ''
|
||||
VirtualHost "${v.domain}"
|
||||
enabled = ${if v.enabled then "true" else "false"};
|
||||
${ optionalString (v.ssl != null) (createSSLOptsStr v.ssl) }
|
||||
${ v.extraConfig }
|
||||
'') cfg.virtualHosts) }
|
||||
'';
|
||||
|
||||
users.extraUsers.prosody = {
|
||||
uid = config.ids.uids.prosody;
|
||||
description = "Prosody user";
|
||||
createHome = true;
|
||||
group = "prosody";
|
||||
home = "/var/lib/prosody";
|
||||
};
|
||||
|
||||
users.extraGroups.prosody = {
|
||||
gid = config.ids.gids.prosody;
|
||||
};
|
||||
|
||||
systemd.services.prosody = {
|
||||
|
||||
description = "Prosody XMPP server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = "prosody";
|
||||
PIDFile = "/var/lib/prosody/prosody.pid";
|
||||
ExecStart = "${pkgs.prosody}/bin/prosodyctl start";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
75
nixos/modules/services/networking/seeks.nix
Normal file
75
nixos/modules/services/networking/seeks.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.seeks;
|
||||
|
||||
confDir = cfg.confDir;
|
||||
|
||||
seeks = pkgs.seeks.override { seeks_confDir = confDir; };
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.seeks = {
|
||||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "
|
||||
Whether to enable the Seeks server.
|
||||
";
|
||||
};
|
||||
|
||||
confDir = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = "
|
||||
The Seeks server configuration. If it is not specified,
|
||||
a default configuration is used (${seeks}/etc/seeks).
|
||||
";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.seeks.enable {
|
||||
|
||||
users.extraUsers.seeks =
|
||||
{ uid = config.ids.uids.seeks;
|
||||
description = "Seeks user";
|
||||
createHome = true;
|
||||
home = "/var/lib/seeks";
|
||||
};
|
||||
|
||||
users.extraGroups.seeks =
|
||||
{ gid = config.ids.gids.seeks;
|
||||
};
|
||||
|
||||
systemd.services.seeks =
|
||||
{
|
||||
description = "Seeks server, the p2p search engine.";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = "seeks";
|
||||
ExecStart = "${seeks}/bin/seeks";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ seeks ];
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -25,6 +25,10 @@ let
|
||||
sendmailPath = "/var/setuid-wrappers/sendmail";
|
||||
};
|
||||
|
||||
allFiles = map (f: "\"${f}\"") (
|
||||
[ "${systemCronJobsFile}" ] ++ config.services.cron.cronFiles
|
||||
);
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@ -71,6 +75,15 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
cronFiles = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [];
|
||||
description = ''
|
||||
A list of extra crontab files that will be read and appended to the main
|
||||
crontab file when the cron service starts.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
@ -78,14 +91,7 @@ in
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.cron.enable {
|
||||
|
||||
environment.etc = singleton
|
||||
# The system-wide crontab.
|
||||
{ source = systemCronJobsFile;
|
||||
target = "crontab";
|
||||
mode = "0600"; # Cron requires this.
|
||||
};
|
||||
config = mkIf (config.services.cron.enable && allFiles != []) {
|
||||
|
||||
security.setuidPrograms = [ "crontab" ];
|
||||
|
||||
@ -100,6 +106,10 @@ in
|
||||
|
||||
preStart =
|
||||
''
|
||||
rm -f /etc/crontab
|
||||
cat ${toString allFiles} > /etc/crontab
|
||||
chmod 0600 /etc/crontab
|
||||
|
||||
mkdir -m 710 -p /var/cron
|
||||
|
||||
# By default, allow all users to create a crontab. This
|
||||
|
@ -18,6 +18,7 @@ in
|
||||
./i3.nix
|
||||
./herbstluftwm.nix
|
||||
./bspwm.nix
|
||||
./stumpwm.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
@ -60,4 +61,4 @@ in
|
||||
config = {
|
||||
services.xserver.displayManager.session = cfg.session;
|
||||
};
|
||||
}
|
||||
}
|
30
nixos/modules/services/x11/window-managers/stumpwm.nix
Normal file
30
nixos/modules/services/x11/window-managers/stumpwm.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.xserver.windowManager.stumpwm;
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
services.xserver.windowManager.stumpwm = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = "Enable the stumpwm tiling window manager.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.windowManager.session = singleton {
|
||||
name = "stumpwm";
|
||||
start = "
|
||||
${pkgs.stumpwm}/bin/stumpwm
|
||||
";
|
||||
};
|
||||
environment.systemPackages = [ pkgs.stumpwm ];
|
||||
};
|
||||
}
|
@ -368,6 +368,14 @@ exec 3>&-
|
||||
@postMountCommands@
|
||||
|
||||
|
||||
# Emit a udev rule for /dev/root to prevent systemd from complaining.
|
||||
eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=$targetRoot || true)
|
||||
if [ "$ROOT_MAJOR" -a "$ROOT_MINOR" -a "$ROOT_MAJOR" != 0 ]; then
|
||||
mkdir -p /run/udev/rules.d
|
||||
echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'", ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' > /run/udev/rules.d/61-dev-root-link.rules
|
||||
fi
|
||||
|
||||
|
||||
# Stop udevd.
|
||||
udevadm control --exit || true
|
||||
|
||||
|
@ -346,9 +346,6 @@ in
|
||||
(isYes "BLK_DEV_INITRD")
|
||||
];
|
||||
|
||||
# Prevent systemd from waiting for the /dev/root symlink.
|
||||
systemd.units."dev-root.device".text = "";
|
||||
|
||||
boot.initrd.supportedFilesystems = map (fs: fs.fsType) fileSystems;
|
||||
|
||||
};
|
||||
|
@ -155,6 +155,7 @@ in
|
||||
systemd.services."zpool-import" = {
|
||||
description = "Import zpools";
|
||||
after = [ "systemd-udev-settle.service" ];
|
||||
wantedBy = [ "local-fs.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
|
@ -773,29 +773,28 @@ in
|
||||
wantedBy = [ "network.target" (subsystemDevice n) ];
|
||||
bindsTo = deps;
|
||||
after = deps;
|
||||
before = [ "${n}-cfg.service" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.ifenslave pkgs.iproute ];
|
||||
script = ''
|
||||
# Remove Dead Interfaces
|
||||
ip link set "${n}" down >/dev/null 2>&1 || true
|
||||
ifenslave -d "${n}" >/dev/null 2>&1 || true
|
||||
ip link del "${n}" >/dev/null 2>&1 || true
|
||||
|
||||
ip link add name "${n}" type bond
|
||||
|
||||
# !!! There must be a better way to wait for the interface
|
||||
while [ ! -d /sys/class/net/${n} ]; do sleep 0.1; done;
|
||||
|
||||
# Ensure the link is down so that we can set options
|
||||
ip link set "${n}" down
|
||||
|
||||
# Set the miimon and mode options
|
||||
${optionalString (v.miimon != null)
|
||||
"echo ${toString v.miimon} > /sys/class/net/${n}/bonding/miimon"}
|
||||
"echo \"${toString v.miimon}\" >/sys/class/net/${n}/bonding/miimon"}
|
||||
${optionalString (v.mode != null)
|
||||
"echo \"${v.mode}\" > /sys/class/net/${n}/bonding/mode"}
|
||||
"echo \"${v.mode}\" >/sys/class/net/${n}/bonding/mode"}
|
||||
${optionalString (v.lacp_rate != null)
|
||||
"echo \"${v.lacp_rate}\" > /sys/class/net/${n}/bonding/lacp_rate"}
|
||||
"echo \"${v.lacp_rate}\" >/sys/class/net/${n}/bonding/lacp_rate"}
|
||||
${optionalString (v.xmit_hash_policy != null)
|
||||
"echo \"${v.xmit_hash_policy}\" > /sys/class/net/${n}/bonding/xmit_hash_policy"}
|
||||
"echo \"${v.xmit_hash_policy}\" >/sys/class/net/${n}/bonding/xmit_hash_policy"}
|
||||
|
||||
# Bring up the bond and enslave the specified interfaces
|
||||
ip link set "${n}" up
|
||||
@ -804,8 +803,10 @@ in
|
||||
'')}
|
||||
'';
|
||||
postStop = ''
|
||||
ip link set "${n}" down >dev/null 2>&1 || true
|
||||
ifenslave -d "${n}" >/dev/null 2>&1 || true
|
||||
${flip concatMapStrings v.interfaces (i: ''
|
||||
ifenslave -d "${n}" "${i}" >/dev/null 2>&1 || true
|
||||
'')}
|
||||
ip link set "${n}" down >/dev/null 2>&1 || true
|
||||
ip link del "${n}" >/dev/null 2>&1 || true
|
||||
'';
|
||||
});
|
||||
|
@ -70,10 +70,10 @@ in
|
||||
|
||||
# Register the paths in the Nix database.
|
||||
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
|
||||
chroot /mnt ${config.nix.package}/bin/nix-store --load-db
|
||||
chroot /mnt ${config.nix.package}/bin/nix-store --load-db --option build-users-group ""
|
||||
|
||||
# Create the system profile to allow nixos-rebuild to work.
|
||||
chroot /mnt ${config.nix.package}/bin/nix-env \
|
||||
chroot /mnt ${config.nix.package}/bin/nix-env --option build-users-group "" \
|
||||
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
|
||||
|
||||
# `nixos-rebuild' requires an /etc/NIXOS.
|
||||
|
@ -383,7 +383,7 @@ in
|
||||
|
||||
# When building a regular system configuration, override whatever
|
||||
# video driver the host uses.
|
||||
services.xserver.videoDrivers = mkVMOverride [ "vesa" ];
|
||||
services.xserver.videoDrivers = mkVMOverride [ "modesetting" ];
|
||||
services.xserver.defaultDepth = mkVMOverride 0;
|
||||
services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
|
||||
services.xserver.monitorSection =
|
||||
|
@ -47,12 +47,10 @@ in rec {
|
||||
(all nixos.iso_graphical)
|
||||
(all nixos.ova)
|
||||
|
||||
#(all nixos.tests.efi-installer.simple)
|
||||
#(all nixos.tests.containers)
|
||||
(all nixos.tests.firefox)
|
||||
(all nixos.tests.firewall)
|
||||
(all nixos.tests.gnome3)
|
||||
#(all nixos.tests.installer.efi)
|
||||
(all nixos.tests.installer.grub1)
|
||||
(all nixos.tests.installer.lvm)
|
||||
(all nixos.tests.installer.separateBoot)
|
||||
|
91
nixos/release-small.nix
Normal file
91
nixos/release-small.nix
Normal file
@ -0,0 +1,91 @@
|
||||
# This jobset is used to generate a NixOS channel that contains a
|
||||
# small subset of Nixpkgs, mostly useful for servers that need fast
|
||||
# security updates.
|
||||
|
||||
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
|
||||
, stableBranch ? false
|
||||
, supportedSystems ? [ "x86_64-linux" ] # no i686-linux
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
nixpkgsSrc = nixpkgs; # urgh
|
||||
|
||||
pkgs = import ./.. {};
|
||||
|
||||
lib = pkgs.lib;
|
||||
|
||||
nixos' = import ./release.nix {
|
||||
inherit stableBranch supportedSystems;
|
||||
nixpkgs = nixpkgsSrc;
|
||||
};
|
||||
|
||||
nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
|
||||
inherit supportedSystems;
|
||||
nixpkgs = nixpkgsSrc;
|
||||
}) [ "unstable" ];
|
||||
|
||||
in rec {
|
||||
|
||||
nixos = {
|
||||
inherit (nixos') channel manual iso_minimal dummy;
|
||||
tests = {
|
||||
inherit (nixos'.tests)
|
||||
containers
|
||||
firewall
|
||||
ipv6
|
||||
login
|
||||
misc
|
||||
nat
|
||||
nfs3
|
||||
openssh
|
||||
proxy
|
||||
simple;
|
||||
installer = {
|
||||
inherit (nixos'.tests.installer)
|
||||
grub1
|
||||
lvm
|
||||
separateBoot
|
||||
simple;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
inherit (nixpkgs')
|
||||
apacheHttpd_2_2
|
||||
apacheHttpd_2_4
|
||||
cmake
|
||||
cryptsetup
|
||||
emacs
|
||||
gettext
|
||||
git
|
||||
imagemagick
|
||||
linux
|
||||
mysql51
|
||||
mysql55
|
||||
nginx
|
||||
openssh
|
||||
php
|
||||
postgresql92
|
||||
postgresql93
|
||||
python
|
||||
rsyslog
|
||||
stdenv
|
||||
subversion
|
||||
tarball
|
||||
vim;
|
||||
};
|
||||
|
||||
tested = pkgs.releaseTools.aggregate {
|
||||
name = "nixos-${nixos.channel.version}";
|
||||
meta = {
|
||||
description = "Release-critical builds for the NixOS channel";
|
||||
maintainers = [ lib.maintainers.eelco ];
|
||||
};
|
||||
constituents =
|
||||
let all = x: map (system: x.${system}) supportedSystems; in
|
||||
[ nixpkgs.tarball ] ++ lib.collect lib.isDerivation nixos;
|
||||
};
|
||||
|
||||
}
|
@ -132,6 +132,10 @@ in rec {
|
||||
manpages = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manpages);
|
||||
|
||||
|
||||
# Build the initial ramdisk so Hydra can keep track of its size over time.
|
||||
initialRamdisk = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.initialRamdisk);
|
||||
|
||||
|
||||
iso_minimal = forAllSystems (system: makeIso {
|
||||
module = ./modules/installer/cd-dvd/installation-cd-minimal.nix;
|
||||
type = "minimal";
|
||||
@ -188,12 +192,15 @@ in rec {
|
||||
|
||||
# Ensure that all packages used by the minimal NixOS config end up in the channel.
|
||||
dummy = forAllSystems (system: pkgs.runCommand "dummy"
|
||||
{ propagatedBuildInputs = (import lib/eval-config.nix {
|
||||
{ toplevel = (import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules = lib.singleton ({ config, pkgs, ... }: { });
|
||||
}).config.environment.systemPackages;
|
||||
modules = lib.singleton ({ config, pkgs, ... }:
|
||||
{ fileSystems."/".device = lib.mkDefault "/dev/sda1";
|
||||
boot.loader.grub.device = lib.mkDefault "/dev/sda";
|
||||
});
|
||||
}).config.system.build.toplevel;
|
||||
}
|
||||
"mkdir $out; fixupPhase");
|
||||
"mkdir $out; ln -s $toplevel $out/dummy");
|
||||
|
||||
|
||||
# Provide a tarball that can be unpacked into an SD card, and easily
|
||||
@ -231,7 +238,6 @@ in rec {
|
||||
tests.firefox = callTest tests/firefox.nix {};
|
||||
tests.firewall = callTest tests/firewall.nix {};
|
||||
tests.gnome3 = callTest tests/gnome3.nix {};
|
||||
tests.installer.efi = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).efi.test);
|
||||
tests.installer.grub1 = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).grub1.test);
|
||||
tests.installer.lvm = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).lvm.test);
|
||||
tests.installer.rebuildCD = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).rebuildCD.test);
|
||||
|
@ -28,7 +28,7 @@ in
|
||||
nodes =
|
||||
{ tracker =
|
||||
{ config, pkgs, ... }:
|
||||
{ environment.systemPackages = [ pkgs.transmission ];
|
||||
{ environment.systemPackages = [ pkgs.transmission pkgs.opentracker ];
|
||||
|
||||
# We need Apache on the tracker to serve the torrents.
|
||||
services.httpd.enable = true;
|
||||
@ -86,7 +86,7 @@ in
|
||||
|
||||
# Start the tracker. !!! use a less crappy tracker
|
||||
$tracker->waitForUnit("network.target");
|
||||
$tracker->succeed("bittorrent-tracker --port 6969 --dfile /tmp/dstate >&2 &");
|
||||
$tracker->succeed("opentracker -p 6969 >&2 &");
|
||||
$tracker->waitForOpenPort(6969);
|
||||
|
||||
# Start the initial seeder.
|
||||
|
@ -35,7 +35,7 @@ let
|
||||
|
||||
|
||||
# The configuration to install.
|
||||
makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier
|
||||
makeConfig = { testChannel, grubVersion, grubDevice, grubIdentifier
|
||||
, readOnly ? true, forceGrubReinstallCount ? 0 }:
|
||||
pkgs.writeText "configuration.nix" ''
|
||||
{ config, pkgs, modulesPath, ... }:
|
||||
@ -46,18 +46,13 @@ let
|
||||
<nixpkgs/nixos/modules/profiles/minimal.nix>
|
||||
];
|
||||
|
||||
${if useEFI then ''
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.gummiboot.enable = true;
|
||||
'' else ''
|
||||
boot.loader.grub.version = ${toString grubVersion};
|
||||
${optionalString (grubVersion == 1) ''
|
||||
boot.loader.grub.splashImage = null;
|
||||
''}
|
||||
boot.loader.grub.device = "${grubDevice}";
|
||||
boot.loader.grub.extraConfig = "serial; terminal_output.serial";
|
||||
boot.loader.grub.fsIdentifier = "${grubIdentifier}";
|
||||
boot.loader.grub.version = ${toString grubVersion};
|
||||
${optionalString (grubVersion == 1) ''
|
||||
boot.loader.grub.splashImage = null;
|
||||
''}
|
||||
boot.loader.grub.device = "${grubDevice}";
|
||||
boot.loader.grub.extraConfig = "serial; terminal_output.serial";
|
||||
boot.loader.grub.fsIdentifier = "${grubIdentifier}";
|
||||
|
||||
boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
|
||||
|
||||
@ -100,16 +95,14 @@ let
|
||||
# disk, and then reboot from the hard disk. It's parameterized with
|
||||
# a test script fragment `createPartitions', which must create
|
||||
# partitions and filesystems.
|
||||
testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }:
|
||||
testScriptFun = { createPartitions, testChannel, grubVersion, grubDevice, grubIdentifier }:
|
||||
let
|
||||
# FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html
|
||||
iface = if useEFI || grubVersion == 1 then "scsi" else "virtio";
|
||||
iface = if grubVersion == 1 then "scsi" else "virtio";
|
||||
qemuFlags =
|
||||
(if iso.system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
|
||||
(optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ") +
|
||||
(optionalString useEFI ''-L ${efiBios} -hda ''${\(Cwd::abs_path('harddisk'))} '');
|
||||
hdFlags = optionalString (!useEFI)
|
||||
''hda => "harddisk", hdaInterface => "${iface}", '';
|
||||
(optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ");
|
||||
hdFlags =''hda => "harddisk", hdaInterface => "${iface}", '';
|
||||
in
|
||||
''
|
||||
createDisk("harddisk", 4 * 1024);
|
||||
@ -168,7 +161,7 @@ let
|
||||
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
|
||||
|
||||
$machine->copyFileFromHost(
|
||||
"${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; } }",
|
||||
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; } }",
|
||||
"/mnt/etc/nixos/configuration.nix");
|
||||
|
||||
# Perform the installation.
|
||||
@ -189,11 +182,7 @@ let
|
||||
# Did /boot get mounted?
|
||||
$machine->waitForUnit("local-fs.target");
|
||||
|
||||
${if useEFI then ''
|
||||
$machine->succeed("test -e /boot/efi");
|
||||
'' else ''
|
||||
$machine->succeed("test -e /boot/grub");
|
||||
''}
|
||||
$machine->succeed("test -e /boot/grub");
|
||||
|
||||
# Did the swap device get activated?
|
||||
$machine->waitForUnit("swap.target");
|
||||
@ -206,7 +195,7 @@ let
|
||||
|
||||
# We need to a writable nix-store on next boot
|
||||
$machine->copyFileFromHost(
|
||||
"${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }",
|
||||
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }",
|
||||
"/etc/nixos/configuration.nix");
|
||||
|
||||
# Check whether nixos-rebuild works.
|
||||
@ -223,7 +212,7 @@ let
|
||||
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
|
||||
$machine->waitForUnit("multi-user.target");
|
||||
$machine->copyFileFromHost(
|
||||
"${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }",
|
||||
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }",
|
||||
"/etc/nixos/configuration.nix");
|
||||
$machine->succeed("nixos-rebuild boot >&2");
|
||||
$machine->shutdown;
|
||||
@ -237,13 +226,13 @@ let
|
||||
|
||||
|
||||
makeInstallerTest = name:
|
||||
{ createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
|
||||
{ createPartitions, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
|
||||
makeTest {
|
||||
inherit iso;
|
||||
name = "installer-" + name;
|
||||
nodes = if testChannel then { inherit webserver; } else { };
|
||||
testScript = testScriptFun {
|
||||
inherit createPartitions testChannel useEFI grubVersion grubDevice grubIdentifier;
|
||||
inherit createPartitions testChannel grubVersion grubDevice grubIdentifier;
|
||||
};
|
||||
};
|
||||
|
||||
@ -369,25 +358,6 @@ in {
|
||||
grubDevice = "/dev/sda";
|
||||
};
|
||||
|
||||
# Test an EFI install.
|
||||
efi = makeInstallerTest "efi"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
"sgdisk -Z /dev/sda",
|
||||
"sgdisk -n 1:0:+256M -n 2:0:+1024M -N 3 -t 1:ef00 -t 2:8200 -t 3:8300 -c 1:boot -c 2:swap -c 3:root /dev/sda",
|
||||
"mkfs.vfat -n BOOT /dev/sda1",
|
||||
"mkswap /dev/sda2 -L swap",
|
||||
"swapon -L swap",
|
||||
"mkfs.ext3 -L nixos /dev/sda3",
|
||||
"mount LABEL=nixos /mnt",
|
||||
"mkdir /mnt/boot",
|
||||
"mount LABEL=BOOT /mnt/boot",
|
||||
);
|
||||
'';
|
||||
useEFI = true;
|
||||
};
|
||||
|
||||
# Rebuild the CD configuration with a little modification.
|
||||
rebuildCD = makeTest
|
||||
{ inherit iso;
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "guitarix-${version}";
|
||||
version = "0.30.0";
|
||||
version = "0.31.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
|
||||
sha256 = "0fbapd1pcixzlqxgzb2s2q1c64g9z9lf4hz3vy73z55cnpk72vdx";
|
||||
sha256 = "0n3swk4xahspf42qglikfmvcz8my43wmp6sp4ns7h4m8hr9lgfk6";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
description = "An ncurses console audio player designed to be powerful and easy to use";
|
||||
homepage = http://moc.daper.net/;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
maintainers = with maintainers; [ pSub jagajaga ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -6,11 +6,11 @@ assert stdenv ? glibc;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "yoshimi-${version}";
|
||||
version = "1.2.3";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
|
||||
sha256 = "00bp699k8gnilin2rvgj35334s9jrizp82qwlmzzvvfliwcgqlqw";
|
||||
sha256 = "0wz2bc0x0h989schwzqjj6sx9hvzxkw4jrkflwhyrzjini1pvkxz";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -17,7 +17,7 @@ let
|
||||
desktopItem = makeDesktopItem {
|
||||
name = loName;
|
||||
exec = loName;
|
||||
comment = meta.longDescription;
|
||||
comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
|
||||
desktopName = product;
|
||||
genericName = meta.description;
|
||||
categories = "Application;Development;";
|
||||
@ -147,54 +147,42 @@ in
|
||||
|
||||
android-studio = buildAndroidStudio rec {
|
||||
name = "android-studio-${version}";
|
||||
version = "0.8.10";
|
||||
build = "135.1428667";
|
||||
version = "0.8.12";
|
||||
build = "135.1503853";
|
||||
description = "Android development environment based on IntelliJ IDEA";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
|
||||
"/android-studio-ide-${build}-linux.zip";
|
||||
sha256 = "5736a92ffda24233026ff45a47f1b4f9567ba40347cfa0c9f351112e729b5401";
|
||||
sha256 = "225c8b2f90b9159c465eae5797132350660994184a568c631d4383313a510695";
|
||||
};
|
||||
};
|
||||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
version = "13.1.4b";
|
||||
build = "IC-135.1230";
|
||||
version = "13.1.5";
|
||||
build = "IC-135.1289";
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||
sha256 = "8b4ee25fd2934e06b87230b50e1474183ed4b331c1626a7fee69b96294d9616d";
|
||||
sha256 = "e08b9adad0ed9aa62a43f3026a1b499d1663710314d00a3bec2e171a6c375f09";
|
||||
};
|
||||
};
|
||||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
version = "13.1.4b";
|
||||
build = "IU-135.1230";
|
||||
version = "13.1.5";
|
||||
build = "IU-135.1289";
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
|
||||
sha256 = "84660d97c9c3e4e7cfd6c2708f4685dc7322157f1e1c2888feac64df119f0606";
|
||||
sha256 = "0800b1ffc135f884e46f1004289fb75850148d705afc447d3374cfd281c231a2";
|
||||
};
|
||||
};
|
||||
|
||||
pycharm-community-313 = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "3.1.3";
|
||||
build = "133.1347";
|
||||
description = "PyCharm 3.1 Community Edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "http://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "f671ee4c99207c179f168b5b98fa23afe90a94c3a3914367b95a46b0c2881b23";
|
||||
};
|
||||
};
|
||||
|
||||
pycharm-community-341 = buildPycharm rec {
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "3.4.1";
|
||||
build = "135.1057";
|
||||
@ -206,19 +194,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
pycharm-professional-313 = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "3.1.3";
|
||||
build = "133.1347";
|
||||
description = "PyCharm 3.1 Professional Edition";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "http://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "e0c2db8f18cb825a95de6ddc4b0b9f93c5643bf34cca9f1b3c2fa37fd7c14f11";
|
||||
};
|
||||
};
|
||||
|
||||
pycharm-professional-341 = buildPycharm rec {
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "3.4.1";
|
||||
build = "135.1057";
|
||||
@ -230,4 +206,4 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
66
pkgs/applications/editors/sigil/default.nix
Normal file
66
pkgs/applications/editors/sigil/default.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ stdenv, fetchurl, unzip, cmake, pkgconfig, makeWrapper
|
||||
, hunspell, minizip, boost, xercesc, qt5
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.7.4";
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sigil-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://sigil.googlecode.com/files/Sigil-${version}-Code.zip";
|
||||
sha256 = "68c7ca15ea8611921af0c435369563f55c6afd2ef1fb0945cf6c4a47429b0fb5";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
unzip cmake pkgconfig
|
||||
hunspell minizip boost xercesc qt5
|
||||
];
|
||||
|
||||
# XXX: the compiler seems to treat the .h file inappropriately:
|
||||
#
|
||||
# COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
|
||||
# -o ${header_name}.h.gch
|
||||
#
|
||||
# but using -c or -x c++-header seems to work:
|
||||
#
|
||||
# COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
|
||||
# -c ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
|
||||
# -o ${header_name}.h.gch
|
||||
#
|
||||
# COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
|
||||
# -x c++-header ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
|
||||
# -o ${header_name}.h.gch
|
||||
#
|
||||
# Might be related to:
|
||||
#
|
||||
# http://permalink.gmane.org/gmane.comp.gcc.bugs/361195
|
||||
buildCommand = ''
|
||||
mkdir -pv $out
|
||||
mkdir -pv ${name}/src ${name}/build ${name}/run
|
||||
cd ${name}/src
|
||||
unzip -n ${src}
|
||||
sed -i \
|
||||
-e 's|\(COMMAND\) \([^ ]\+\) \([^ ]\+\) \(.*\)|\1 \2 \3 -c \4|' \
|
||||
cmake_extras/CustomPCH.cmake
|
||||
cd ../build
|
||||
cmake -G "Unix Makefiles" \
|
||||
-DCMAKE_INSTALL_PREFIX=$out \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_SKIP_BUILD_RPATH=ON \
|
||||
../src
|
||||
make
|
||||
make install
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Free, open source, multi-platform ebook (ePub) editor";
|
||||
homepage = https://code.google.com/p/sigil/;
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
inherit version;
|
||||
};
|
||||
}
|
24
pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
Normal file
24
pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
Normal file
@ -0,0 +1,24 @@
|
||||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
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 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.
|
||||
|
||||
For more information, please refer to <http://unlicense.org>
|
17
pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
Normal file
17
pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
Normal file
@ -0,0 +1,17 @@
|
||||
name: yi-custom
|
||||
version: 0.0.0.1
|
||||
category: Yi
|
||||
synopsis: Convenience wrapper for nix
|
||||
description: Convenience wrapper for nix
|
||||
license: PublicDomain
|
||||
license-file: LICENSE
|
||||
author: Mateusz Kowalczyk
|
||||
maintainer: fuuzetsu@fuuzetsu.co.uk
|
||||
Cabal-Version: >= 1.10
|
||||
build-type: Simple
|
||||
|
||||
library
|
||||
hs-source-dirs: .
|
||||
default-language: Haskell2010
|
||||
build-depends: base, yi
|
||||
ghc-options: -threaded
|
42
pkgs/applications/editors/yi/yi-custom.nix
Normal file
42
pkgs/applications/editors/yi/yi-custom.nix
Normal file
@ -0,0 +1,42 @@
|
||||
# This is a manually-written expression over an in-tree cabal file.
|
||||
# It's awkward but this way allows the package user to pass in
|
||||
# extraPackages without much extra hassle on their end, similarly how
|
||||
# the XMonad service handles it: the difference is that we don't have
|
||||
# anything like XMONAD_GHC…
|
||||
#
|
||||
# The idea is that the user changes their configs using any libraries
|
||||
# he likes and then builds it using this expression. Once that's done,
|
||||
# ‘reload’ and similar functions should all work as long as the user
|
||||
# doesn't need new libraries at which point they should add them to
|
||||
# extraPackages and rebuild from the expression.
|
||||
{ cabal, yi, extraPackages, makeWrapper }:
|
||||
|
||||
cabal.mkDerivation (self: rec {
|
||||
pname = "yi-custom";
|
||||
version = "0.0.0.1";
|
||||
src = ./yi-custom-cabal;
|
||||
isLibrary = true;
|
||||
buildDepends = extraPackages ++ [ yi ];
|
||||
buildTools = [ makeWrapper ];
|
||||
noHaddock = true;
|
||||
doCheck = false;
|
||||
|
||||
# Allows Yi to find the libraries it needs at runtime. We drop ‘:’
|
||||
# from this GHC_PACKAGE_PATH because we're wrapping over a different
|
||||
# wrapper that used --prefix: if we didn't, we end up with a
|
||||
# double-colon, confusing GHC.
|
||||
postInstall = ''
|
||||
makeWrapper ${yi}/bin/yi $out/bin/yi --set GHC_PACKAGE_PATH ''${GHC_PACKAGE_PATH%?}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://haskell.org/haskellwiki/Yi";
|
||||
description = "Wrapper over user-specified Haskell libraries for use in Yi config";
|
||||
license = self.stdenv.lib.licenses.publicDomain;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
|
||||
# The wrapper does not yet work properly if we actually try to use it.
|
||||
broken = true;
|
||||
};
|
||||
|
||||
})
|
@ -1,65 +1,43 @@
|
||||
{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
|
||||
, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree
|
||||
, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec
|
||||
, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe
|
||||
, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase
|
||||
, uniplate, unixCompat, unorderedContainers, utf8String, vty
|
||||
, xdgBasedir
|
||||
, withPango ? true
|
||||
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
|
||||
|
||||
# User may need extra dependencies for their configuration file so we
|
||||
# want to specify it here to have them available when wrapping the
|
||||
# produced binary.
|
||||
, extraDepends ? [ ]
|
||||
{ cabal, binary, Cabal, cautiousFile, dataDefault, derive, dlist
|
||||
, dynamicState, dyre, filepath, glib, gtk, hashable, hint, HUnit
|
||||
, lens, makeWrapper, mtl, ooPrototypes, pango, parsec, pointedlist
|
||||
, QuickCheck, random, regexBase, regexTdfa, safe, semigroups, split
|
||||
, tagged, tasty, tastyHunit, tastyQuickcheck, text, time
|
||||
, transformersBase, unixCompat, unorderedContainers, utf8String
|
||||
, vty, wordTrie, xdgBasedir, yiLanguage, yiRope
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yi";
|
||||
version = "0.8.2";
|
||||
sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9";
|
||||
version = "0.10.1";
|
||||
sha256 = "1vj4ndp43w7xlji4p2px79a8g90p64g54sr3hx4pzimwrlpmifk8";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
binary Cabal cautiousFile concreteTyperep dataDefault derive Diff
|
||||
dlist dyre filepath fingertree hashable hint lens mtl
|
||||
binary Cabal cautiousFile dataDefault derive dlist dynamicState
|
||||
dyre filepath glib gtk hashable hint lens mtl ooPrototypes pango
|
||||
parsec pointedlist QuickCheck random regexBase regexTdfa safe
|
||||
split time transformersBase uniplate unixCompat unorderedContainers
|
||||
utf8String vty xdgBasedir
|
||||
] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends;
|
||||
testDepends = [
|
||||
filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck
|
||||
semigroups split tagged text time transformersBase unixCompat
|
||||
unorderedContainers utf8String vty wordTrie xdgBasedir yiLanguage
|
||||
yiRope
|
||||
];
|
||||
buildTools = [ alex ];
|
||||
configureFlags = if withPango then "-fpango" else "-f-pango";
|
||||
doCheck = false;
|
||||
|
||||
# https://ghc.haskell.org/trac/ghc/ticket/9170
|
||||
noHaddock = self.ghc.version == "7.6.3";
|
||||
|
||||
# Allows Yi to find the libraries it needs at runtime.
|
||||
testDepends = [
|
||||
filepath HUnit lens QuickCheck semigroups tasty tastyHunit
|
||||
tastyQuickcheck text yiLanguage yiRope
|
||||
];
|
||||
buildTools = [ makeWrapper ];
|
||||
configureFlags = "-fpango -fvty";
|
||||
noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.8";
|
||||
postInstall = ''
|
||||
mv $out/bin/yi $out/bin/.yi-wrapped
|
||||
cat - > $out/bin/yi <<EOF
|
||||
#! ${self.stdenv.shell}
|
||||
# Trailing : is necessary for it to pick up Prelude &c.
|
||||
export GHC_PACKAGE_PATH=$(${self.ghc.GHCGetPackages} ${self.ghc.version} \
|
||||
| sed 's/-package-db\ //g' \
|
||||
| sed 's/^\ //g' \
|
||||
| sed 's/\ /:/g')\
|
||||
:$out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf:
|
||||
|
||||
eval exec $out/bin/.yi-wrapped "\$@"
|
||||
EOF
|
||||
chmod +x $out/bin/yi
|
||||
wrapProgram $out/bin/yi --suffix GHC_PACKAGE_PATH : $out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf:$GHC_PACKAGE_PATH
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://haskell.org/haskellwiki/Yi";
|
||||
description = "The Haskell-Scriptable Editor";
|
||||
license = self.stdenv.lib.licenses.gpl2;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
hydraPlatforms = self.stdenv.lib.platforms.none;
|
||||
maintainers = [ self.stdenv.lib.maintainers.fuuzetsu ];
|
||||
broken = true;
|
||||
maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
|
||||
};
|
||||
})
|
||||
|
@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake python ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
|
||||
#enableParallelBuilding = true;
|
||||
|
||||
# To handle the lack of 'local' RPATH; required, as they call one of
|
||||
# their built binaries requiring their libs, in the build process.
|
||||
|
@ -7,8 +7,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurlGnome {
|
||||
project = "dia";
|
||||
major = "0"; minor = "97"; patchlevel = "2"; extension = "xz";
|
||||
sha256 = "1qgawm7rrf4wd1yc0fp39ywv8gbz4ry1s16k00dzg5w6p67lfqd7";
|
||||
major = "0"; minor = "97"; patchlevel = "3"; extension = "xz";
|
||||
sha256 = "0d3x6w0l6fwd0l8xx06y1h56xf8ss31yzia3a6xr9y28xx44x492";
|
||||
};
|
||||
|
||||
correctPersistence = fetchurl {
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome";
|
||||
|
||||
patches = [ ./glib-top-level-header.patch ];
|
||||
patches = [ ];
|
||||
|
||||
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
|
||||
# It have no reasons to exist in a redistribuable package
|
||||
|
@ -1,471 +0,0 @@
|
||||
diff -Naur dia-0.97.2-orig/app/app_procs.c dia-0.97.2/app/app_procs.c
|
||||
--- dia-0.97.2-orig/app/app_procs.c 2011-03-20 07:18:13.000000000 -0400
|
||||
+++ dia-0.97.2/app/app_procs.c 2012-07-15 10:49:08.192726306 -0400
|
||||
@@ -50,7 +50,7 @@
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/xmlerror.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "app_procs.h"
|
||||
diff -Naur dia-0.97.2-orig/app/dia-win-remote.c dia-0.97.2/app/dia-win-remote.c
|
||||
--- dia-0.97.2-orig/app/dia-win-remote.c 2010-08-03 11:35:35.000000000 -0400
|
||||
+++ dia-0.97.2/app/dia-win-remote.c 2012-07-15 10:49:08.159726316 -0400
|
||||
@@ -35,7 +35,7 @@
|
||||
#include <shellapi.h>
|
||||
#include <Shlwapi.h>
|
||||
#include <glib.h>
|
||||
-#include <glib/gprintf.h>
|
||||
+#include <glib.h>
|
||||
|
||||
/**
|
||||
* PROTOTYPES:
|
||||
diff -Naur dia-0.97.2-orig/app/filedlg.c dia-0.97.2/app/filedlg.c
|
||||
--- dia-0.97.2-orig/app/filedlg.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/app/filedlg.c 2012-07-15 10:49:08.227726294 -0400
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#undef GTK_DISABLE_DEPRECATED /* gtk_file_chooser_dialog_new_with_backend */
|
||||
#include <gtk/gtk.h>
|
||||
diff -Naur dia-0.97.2-orig/app/load_save.c dia-0.97.2/app/load_save.c
|
||||
--- dia-0.97.2-orig/app/load_save.c 2011-09-25 07:55:11.000000000 -0400
|
||||
+++ dia-0.97.2/app/load_save.c 2012-07-15 10:49:08.203726303 -0400
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h> /* g_access() and friends */
|
||||
+#include <glib.h> /* g_access() and friends */
|
||||
#include <errno.h>
|
||||
|
||||
#ifndef W_OK
|
||||
diff -Naur dia-0.97.2-orig/app/sheets_dialog_callbacks.c dia-0.97.2/app/sheets_dialog_callbacks.c
|
||||
--- dia-0.97.2-orig/app/sheets_dialog_callbacks.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/app/sheets_dialog_callbacks.c 2012-07-15 10:49:08.201726302 -0400
|
||||
@@ -44,7 +44,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
#include <gmodule.h>
|
||||
|
||||
#undef GTK_DISABLE_DEPRECATED /* GtkOptionMenu */
|
||||
diff -Naur dia-0.97.2-orig/ChangeLog.pre-git dia-0.97.2/ChangeLog.pre-git
|
||||
--- dia-0.97.2-orig/ChangeLog.pre-git 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/ChangeLog.pre-git 2012-07-15 10:49:08.384726247 -0400
|
||||
@@ -4137,7 +4137,7 @@
|
||||
plug-ins/vdx/vdx-export.c plug-ins/vdx/vdx-import.c
|
||||
plug-ins/wmf/wmf.cpp plug-ins/wpg/wpg.c
|
||||
plug-ins/xfig/xfig-export.c plug-ins/xfig/xfig-import.c
|
||||
- plug-ins/xslt/xslt.c : use <glib/gstdio.h> to match GLib's filename
|
||||
+ plug-ins/xslt/xslt.c : use <glib.h> to match GLib's filename
|
||||
encoding to the io functions used, that is: g_open, g_fopen, g_stat,
|
||||
g_unlink, g_mkdir, g_rename (, g_access, g_lstat, g_remove, g_freopen,
|
||||
g_chdir, g_rmdir). Also replace gzopen() with gzdopen(g_open(), ...)
|
||||
@@ -5995,7 +5995,7 @@
|
||||
Also special case strings starting with \tex - i.e. dont escape them -
|
||||
to keep the use-case of direct tex input.
|
||||
|
||||
- * lib/debug.c : #include <glib/gprintf.h> not just <gprintf.h>
|
||||
+ * lib/debug.c : #include <glib.h>
|
||||
|
||||
|
||||
2006-01-14 Hans Breuer <hans@breuer.org>
|
||||
@@ -6207,7 +6207,7 @@
|
||||
* lib/makefile.msc : build debug.obj
|
||||
|
||||
* plug-ins/makefile.msc : building pgf in the right alphabetical order
|
||||
- * plug-ins/pgf/render_pgf.c : include <glib/gprintf.h>
|
||||
+ * plug-ins/pgf/render_pgf.c : include <glib.h>
|
||||
|
||||
2005-12-08 Lars Clausen <lars@raeder.dk>
|
||||
|
||||
diff -Naur dia-0.97.2-orig/lib/debug.c dia-0.97.2/lib/debug.c
|
||||
--- dia-0.97.2-orig/lib/debug.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/lib/debug.c 2012-07-15 10:49:06.813726730 -0400
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#include <stdio.h>
|
||||
-#include <glib/gprintf.h>
|
||||
+#include <glib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "debug.h"
|
||||
diff -Naur dia-0.97.2-orig/lib/dia_dirs.c dia-0.97.2/lib/dia_dirs.c
|
||||
--- dia-0.97.2-orig/lib/dia_dirs.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/lib/dia_dirs.c 2012-07-15 10:49:06.740726750 -0400
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
/** Get the name of a subdirectory of our data directory.
|
||||
* This function does not create the subdirectory, just make the correct name.
|
||||
diff -Naur dia-0.97.2-orig/lib/dia_xml.c dia-0.97.2/lib/dia_xml.c
|
||||
--- dia-0.97.2-orig/lib/dia_xml.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/lib/dia_xml.c 2012-07-15 10:49:06.770726743 -0400
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/parserInternals.h>
|
||||
diff -Naur dia-0.97.2-orig/objects/custom/shape_typeinfo.c dia-0.97.2/objects/custom/shape_typeinfo.c
|
||||
--- dia-0.97.2-orig/objects/custom/shape_typeinfo.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/objects/custom/shape_typeinfo.c 2012-07-15 10:49:06.639726783 -0400
|
||||
@@ -27,8 +27,8 @@
|
||||
#include "custom_util.h"
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
-#include <glib/gstrfuncs.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
+#include <glib.h>
|
||||
#include <libxml/parser.h>
|
||||
|
||||
/*
|
||||
diff -Naur dia-0.97.2-orig/objects/SISSI/sissi.c dia-0.97.2/objects/SISSI/sissi.c
|
||||
--- dia-0.97.2-orig/objects/SISSI/sissi.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/objects/SISSI/sissi.c 2012-07-15 10:49:06.570726804 -0400
|
||||
@@ -42,7 +42,7 @@
|
||||
#include "dia_xml_libxml.h"
|
||||
|
||||
#include <string.h>
|
||||
-#include <glib/gprintf.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#define DEFAULT_WIDTH 1.0
|
||||
#define DEFAULT_HEIGHT 1.0
|
||||
diff -Naur dia-0.97.2-orig/objects/standard/image.c dia-0.97.2/objects/standard/image.c
|
||||
--- dia-0.97.2-orig/objects/standard/image.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/objects/standard/image.c 2012-07-15 10:49:06.683726770 -0400
|
||||
@@ -25,7 +25,7 @@
|
||||
#ifdef HAVE_UNIST_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo.c dia-0.97.2/plug-ins/cairo/diacairo.c
|
||||
--- dia-0.97.2-orig/plug-ins/cairo/diacairo.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/cairo/diacairo.c 2012-07-15 10:49:06.433726846 -0400
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <errno.h>
|
||||
#define G_LOG_DOMAIN "DiaCairo"
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
/*
|
||||
* To me the following looks rather suspicious. Why do we need to compile
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c dia-0.97.2/plug-ins/cairo/diacairo-renderer.c
|
||||
--- dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c 2011-01-07 06:54:21.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/cairo/diacairo-renderer.c 2012-07-15 10:49:06.435726846 -0400
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <errno.h>
|
||||
#define G_LOG_DOMAIN "DiaCairo"
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#ifdef HAVE_PANGOCAIRO_H
|
||||
#include <pango/pangocairo.h>
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/cgm/cgm.c dia-0.97.2/plug-ins/cgm/cgm.c
|
||||
--- dia-0.97.2-orig/plug-ins/cgm/cgm.c 2009-12-27 11:22:38.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/cgm/cgm.c 2012-07-15 10:49:06.425726846 -0400
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <glib.h>
|
||||
#include <errno.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/drs/dia-render-script.c dia-0.97.2/plug-ins/drs/dia-render-script.c
|
||||
--- dia-0.97.2-orig/plug-ins/drs/dia-render-script.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/drs/dia-render-script.c 2012-07-15 10:49:06.427726848 -0400
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
#define G_LOG_DOMAIN "DiaRenderScript"
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "filter.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-export.c dia-0.97.2/plug-ins/dxf/dxf-export.c
|
||||
--- dia-0.97.2-orig/plug-ins/dxf/dxf-export.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/dxf/dxf-export.c 2012-07-15 10:49:06.421726850 -0400
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <math.h>
|
||||
#include <glib.h>
|
||||
#include <errno.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "autocad_pal.h"
|
||||
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-import.c dia-0.97.2/plug-ins/dxf/dxf-import.c
|
||||
--- dia-0.97.2-orig/plug-ins/dxf/dxf-import.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/dxf/dxf-import.c 2012-07-15 10:49:06.419726851 -0400
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/hpgl/hpgl.c dia-0.97.2/plug-ins/hpgl/hpgl.c
|
||||
--- dia-0.97.2-orig/plug-ins/hpgl/hpgl.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/hpgl/hpgl.c 2012-07-15 10:49:06.487726830 -0400
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/libart/export_png.c dia-0.97.2/plug-ins/libart/export_png.c
|
||||
--- dia-0.97.2-orig/plug-ins/libart/export_png.c 2011-07-03 06:56:08.000000000 -0400
|
||||
+++ dia-0.97.2/plug-ins/libart/export_png.c 2012-07-15 10:49:06.415726849 -0400
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "intl.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/metapost/render_metapost.c dia-0.97.2/plug-ins/metapost/render_metapost.c
|
||||
--- dia-0.97.2-orig/plug-ins/metapost/render_metapost.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/metapost/render_metapost.c 2012-07-15 10:49:06.396726857 -0400
|
||||
@@ -43,7 +43,7 @@
|
||||
#endif
|
||||
#include <errno.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "render_metapost.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/pgf/render_pgf.c dia-0.97.2/plug-ins/pgf/render_pgf.c
|
||||
--- dia-0.97.2-orig/plug-ins/pgf/render_pgf.c 2011-01-07 07:11:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/pgf/render_pgf.c 2012-07-15 10:49:06.445726842 -0400
|
||||
@@ -61,8 +61,8 @@
|
||||
#endif
|
||||
#include <errno.h>
|
||||
|
||||
-#include <glib/gprintf.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "render_pgf.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c dia-0.97.2/plug-ins/postscript/paginate_psprint.c
|
||||
--- dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/postscript/paginate_psprint.c 2012-07-15 10:49:06.451726838 -0400
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/postscript/render_eps.c dia-0.97.2/plug-ins/postscript/render_eps.c
|
||||
--- dia-0.97.2-orig/plug-ins/postscript/render_eps.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/postscript/render_eps.c 2012-07-15 10:49:06.451726838 -0400
|
||||
@@ -55,7 +55,7 @@
|
||||
#include <locale.h>
|
||||
#include <errno.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "render_eps.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c dia-0.97.2/plug-ins/pstricks/render_pstricks.c
|
||||
--- dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c 2011-01-07 07:11:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/pstricks/render_pstricks.c 2012-07-15 10:49:06.410726853 -0400
|
||||
@@ -50,7 +50,7 @@
|
||||
#endif
|
||||
#include <errno.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "render_pstricks.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/python/pydia-render.c dia-0.97.2/plug-ins/python/pydia-render.c
|
||||
--- dia-0.97.2-orig/plug-ins/python/pydia-render.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/python/pydia-render.c 2012-07-15 10:49:06.503726822 -0400
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#include <Python.h>
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/shape/shape-export.c dia-0.97.2/plug-ins/shape/shape-export.c
|
||||
--- dia-0.97.2-orig/plug-ins/shape/shape-export.c 2009-11-08 06:14:56.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/shape/shape-export.c 2012-07-15 10:49:06.489726827 -0400
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
/* the dots per centimetre to render this diagram at */
|
||||
/* this matches the setting `100%' setting in dia. */
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/svg/render_svg.c dia-0.97.2/plug-ins/svg/render_svg.c
|
||||
--- dia-0.97.2-orig/plug-ins/svg/render_svg.c 2011-12-17 11:30:38.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/svg/render_svg.c 2012-07-15 10:49:06.392726859 -0400
|
||||
@@ -30,7 +30,7 @@
|
||||
#endif
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <libxml/entities.h>
|
||||
#include <libxml/tree.h>
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-export.c dia-0.97.2/plug-ins/vdx/vdx-export.c
|
||||
--- dia-0.97.2-orig/plug-ins/vdx/vdx-export.c 2009-12-27 11:22:38.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/vdx/vdx-export.c 2012-07-15 10:55:17.066579728 -0400
|
||||
@@ -32,11 +32,12 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
+#include <sys/stat.h>
|
||||
#include <glib.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <locale.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-import.c dia-0.97.2/plug-ins/vdx/vdx-import.c
|
||||
--- dia-0.97.2-orig/plug-ins/vdx/vdx-import.c 2009-12-27 11:22:38.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/vdx/vdx-import.c 2012-07-15 10:49:06.466726836 -0400
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <libxml/tree.h>
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/wmf/wmf.cpp dia-0.97.2/plug-ins/wmf/wmf.cpp
|
||||
--- dia-0.97.2-orig/plug-ins/wmf/wmf.cpp 2011-03-13 09:07:48.000000000 -0400
|
||||
+++ dia-0.97.2/plug-ins/wmf/wmf.cpp 2012-07-15 10:49:06.482726831 -0400
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/wpg/wpg.c dia-0.97.2/plug-ins/wpg/wpg.c
|
||||
--- dia-0.97.2-orig/plug-ins/wpg/wpg.c 2009-11-07 09:28:34.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/wpg/wpg.c 2012-07-15 10:49:06.406726855 -0400
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-export.c dia-0.97.2/plug-ins/xfig/xfig-export.c
|
||||
--- dia-0.97.2-orig/plug-ins/xfig/xfig-export.c 2011-12-17 11:30:38.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/xfig/xfig-export.c 2012-07-15 10:49:06.400726856 -0400
|
||||
@@ -16,7 +16,7 @@
|
||||
#include <locale.h>
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-import.c dia-0.97.2/plug-ins/xfig/xfig-import.c
|
||||
--- dia-0.97.2-orig/plug-ins/xfig/xfig-import.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/xfig/xfig-import.c 2012-07-15 10:49:06.402726853 -0400
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <locale.h>
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "intl.h"
|
||||
#include "message.h"
|
||||
diff -Naur dia-0.97.2-orig/plug-ins/xslt/xslt.c dia-0.97.2/plug-ins/xslt/xslt.c
|
||||
--- dia-0.97.2-orig/plug-ins/xslt/xslt.c 2009-11-07 12:13:53.000000000 -0500
|
||||
+++ dia-0.97.2/plug-ins/xslt/xslt.c 2012-07-15 10:49:06.440726844 -0400
|
||||
@@ -27,7 +27,7 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
-#include <glib/gstdio.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "filter.h"
|
||||
#include "intl.h"
|
||||
diff -Naur dia-0.97.2-orig/tests/test-boundingbox.c dia-0.97.2/tests/test-boundingbox.c
|
||||
--- dia-0.97.2-orig/tests/test-boundingbox.c 2009-11-07 09:28:35.000000000 -0500
|
||||
+++ dia-0.97.2/tests/test-boundingbox.c 2012-07-15 10:49:06.986726677 -0400
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <glib-object.h>
|
||||
|
||||
#if GLIB_CHECK_VERSION(2,16,0)
|
||||
-#include <glib/gtestutils.h>
|
||||
+#include <glib.h>
|
||||
#endif
|
||||
#include "dialib.h"
|
||||
|
||||
diff -Naur dia-0.97.2-orig/tests/test-objects.c dia-0.97.2/tests/test-objects.c
|
||||
--- dia-0.97.2-orig/tests/test-objects.c 2009-11-07 09:28:35.000000000 -0500
|
||||
+++ dia-0.97.2/tests/test-objects.c 2012-07-15 10:49:06.985726677 -0400
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <glib-object.h>
|
||||
|
||||
#if GLIB_CHECK_VERSION(2,16,0)
|
||||
-#include <glib/gtestutils.h>
|
||||
+#include <glib.h>
|
||||
#endif
|
||||
|
||||
#include "object.h"
|
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = http://tarballs.nixos.org/f-spot-0.0.10.tar.bz2;
|
||||
md5 = "19cc6e067ccc261b0502ff6189b79832";
|
||||
sha256 = "1hgls6hzvxsnk09j9y6hq10qxsc92i864mdg3gk2cimbkbr0mh8b";
|
||||
};
|
||||
|
||||
patches = [./dllmap.patch];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ fetchurl, stdenv, lzip, texinfo }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocrad-0.23";
|
||||
name = "ocrad-0.24";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/ocrad/${name}.tar.lz";
|
||||
sha256 = "0vx0v4sz8ivgcp04zggdq9cv9sb5zxnn7j1nm15cds0zq1wr9g7m";
|
||||
sha256 = "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv";
|
||||
};
|
||||
|
||||
buildInputs = [ lzip texinfo ];
|
||||
|
25
pkgs/applications/graphics/sxiv/146.patch
Normal file
25
pkgs/applications/graphics/sxiv/146.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From b901236261dc717dc08ed10f63e2d5cd3f3031f8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <b@bpiotrowski.pl>
|
||||
Date: Tue, 27 May 2014 11:46:06 +0200
|
||||
Subject: [PATCH] Fix build with giflib >= 5.1.0.
|
||||
|
||||
---
|
||||
image.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/image.c b/image.c
|
||||
index e62a69f..7eec544 100644
|
||||
--- a/image.c
|
||||
+++ b/image.c
|
||||
@@ -278,7 +278,11 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
|
||||
}
|
||||
} while (rec != TERMINATE_RECORD_TYPE);
|
||||
|
||||
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||||
+ DGifCloseFile(gif, NULL);
|
||||
+#else
|
||||
DGifCloseFile(gif);
|
||||
+#endif
|
||||
|
||||
if (err && !file->loaded)
|
||||
warn("corrupted gif file: %s", file->name);
|
@ -1,14 +1,16 @@
|
||||
{ stdenv, fetchurl, libX11, imlib2, giflib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "sxiv-1.1.1";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sxiv-1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/muennich/sxiv/archive/v1.1.1.tar.gz";
|
||||
name = "sxiv-1.1.tar.gz";
|
||||
sha256 = "07r8125xa8d5q71ql71s4i1dx4swy8hypxh2s5h7z2jnn5y9nmih";
|
||||
url = "https://github.com/muennich/sxiv/archive/v1.2.tar.gz";
|
||||
name = "${name}.tar.gz";
|
||||
sha256 = "1wwcxy2adc67xd8x6c2sayy1cjcwrv2lvv1iwln7y4w992gbcxmc";
|
||||
};
|
||||
|
||||
patches = [ ./146.patch ];
|
||||
|
||||
buildInputs = [ libX11 imlib2 giflib ];
|
||||
|
||||
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
|
||||
|
@ -2,12 +2,12 @@
|
||||
, libjpeg, libtiff, cfitsio, exiv2, lcms, gtkimageview, lensfun }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ufraw-0.19.2";
|
||||
name = "ufraw-0.20";
|
||||
|
||||
src = fetchurl {
|
||||
# XXX: These guys appear to mutate uploaded tarballs!
|
||||
url = "mirror://sourceforge/ufraw/${name}.tar.gz";
|
||||
sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
|
||||
sha256 = "1q51p0ynzayxwfpilj0s38aapgkfga00gbl7xi0ndx9q6bvk1kbd";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cdrtools/${name}.tar.bz2";
|
||||
md5 = "d44a81460e97ae02931c31188fe8d3fd";
|
||||
sha256 = "08kc5w4z5k2ka7i05an7gfzzp0fsrc403riav7bw8xws0rsn32vj";
|
||||
};
|
||||
|
||||
patches = [./cdrtools-2.01-install.patch];
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }:
|
||||
let
|
||||
py = python27Packages;
|
||||
version = "14.07";
|
||||
version = "14.09";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cura-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/daid/Cura/archive/${version}.tar.gz";
|
||||
sha256 = "1jfgkb2qh1syakcssk66yhnfjm9p9qcx48v34bbza9nryrdlmxdb";
|
||||
sha256 = "1nr26hfqa6chim5qch92wpk0s28wfvznvcf3kkzgf23hw707f40v";
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
|
@ -3,11 +3,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gphoto2-2.5.3";
|
||||
name = "gphoto2-2.5.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
|
||||
sha256 = "0i6qjyvgn3aaspiblmiwv51mfy92gm73xpbd3z41ki8mw7plg53i";
|
||||
sha256 = "1d0lvp5gsrss72597wixhgh8prcw4g7izfg3zdzzsswjgnlsxsal";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gettext ];
|
||||
|
@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
|
||||
|
||||
let
|
||||
name = "ikiwiki";
|
||||
version = "3.20140227";
|
||||
version = "3.20140916";
|
||||
|
||||
lib = stdenv.lib;
|
||||
in
|
||||
@ -32,7 +32,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
|
||||
sha256 = "1bbpqs4c1la1yqcxcxj3xip3wadjnjq0wawv19j6d6baymm66cr3";
|
||||
sha256 = "05nws8jkcbhg767wqgn7in1p8zbcx2kdnhxz19fq52ncfzk2ndn0";
|
||||
};
|
||||
|
||||
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "keepass-${version}";
|
||||
version = "2.27";
|
||||
version = "2.28";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
|
||||
sha256 = "1qi7pls5xrv7ma53bwka738idvnxk82dvhk06m1snc8c29dws7fa";
|
||||
sha256 = "0rlll6qriflaibqpw9qqfgqqr7cvhl404c3ph6n2i22j7xn5mizh";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
|
||||
"-I${dbus_libs}/lib/dbus-1.0/include" ];
|
||||
|
||||
# Fix up python path so the lockfile library is on it.
|
||||
PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.python.libPrefix}/site-packages" [
|
||||
PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.libPrefix}/site-packages" [
|
||||
pythonPackages.curses pythonPackages.lockfile
|
||||
];
|
||||
|
||||
|
@ -4,13 +4,13 @@
|
||||
let
|
||||
|
||||
mkSweetHome3D =
|
||||
{ name, module, version, src, license, description }:
|
||||
{ name, module, version, src, license, description, icon }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name version src description;
|
||||
inherit name version src description icon;
|
||||
exec = stdenv.lib.toLower module;
|
||||
sweethome3dItem = makeDesktopItem {
|
||||
inherit name exec;
|
||||
inherit name exec icon;
|
||||
comment = description;
|
||||
desktopName = name;
|
||||
genericName = "Computer Aided (Interior) Design";
|
||||
@ -61,6 +61,10 @@ in rec {
|
||||
module = module;
|
||||
tag = "V_" + d2u version;
|
||||
};
|
||||
icon = fetchurl {
|
||||
url = "http://sweethome3d.cvs.sourceforge.net/viewvc/sweethome3d/SweetHome3D/src/com/eteks/sweethome3d/viewcontroller/resources/help/images/sweethome3d.png";
|
||||
sha256 = "0lnv2sz2d3m8jx25hz92gzardf0iblykhy5q0q2cyb7mw2qb2p92";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,21 +1,22 @@
|
||||
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
|
||||
|
||||
{ cabal, cairo, dbus, dyre, enclosedExceptions, filepath, gtk
|
||||
, gtkTraymanager, HStringTemplate, HTTP, mtl, network, parsec, safe
|
||||
, split, stm, text, time, transformers, utf8String, X11, xdgBasedir
|
||||
, xmonad, xmonadContrib
|
||||
, gtkTraymanager, HStringTemplate, HTTP, mtl, network, networkUri
|
||||
, parsec, safe, split, stm, text, time, transformers, utf8String
|
||||
, X11, xdgBasedir, xmonad, xmonadContrib
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "taffybar";
|
||||
version = "0.4.1";
|
||||
sha256 = "0b4x78sq5x1w0xnc5fk4ixpbkl8cwjfyb4fq8vy21shf4n0fri26";
|
||||
version = "0.4.3";
|
||||
sha256 = "1h7acdzq3bndy44lyvgnm3gvxpbhzcs0ymvkrhmn3y41bfcwaac2";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
cairo dbus dyre enclosedExceptions filepath gtk gtkTraymanager
|
||||
HStringTemplate HTTP mtl network parsec safe split stm text time
|
||||
transformers utf8String X11 xdgBasedir xmonad xmonadContrib
|
||||
HStringTemplate HTTP mtl network networkUri parsec safe split stm
|
||||
text time transformers utf8String X11 xdgBasedir xmonad
|
||||
xmonadContrib
|
||||
];
|
||||
pkgconfigDepends = [ gtk ];
|
||||
meta = {
|
||||
|
@ -1,23 +1,23 @@
|
||||
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
|
||||
|
||||
{ cabal, alsaCore, alsaMixer, dbus, filepath, hinotify, HTTP
|
||||
, libmpd, libXrandr, mtl, parsec, regexCompat, stm, time
|
||||
, timezoneOlson, timezoneSeries, utf8String, wirelesstools, X11
|
||||
, X11Xft
|
||||
, libmpd, libXpm, libXrandr, mtl, parsec, regexCompat, stm, time
|
||||
, timezoneOlson, timezoneSeries, transformers, utf8String
|
||||
, wirelesstools, X11, X11Xft
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "xmobar";
|
||||
version = "0.21";
|
||||
sha256 = "1h0gsb808zm4j4kmw7fl4339wllc16ldy1ki96l8w3fvj30bcxpm";
|
||||
version = "0.22.1";
|
||||
sha256 = "0mnwwcfk0xf4fi3cnw19s6lxcg8sbsdlvg7zwvf5xf0y9q365swz";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
alsaCore alsaMixer dbus filepath hinotify HTTP libmpd mtl parsec
|
||||
regexCompat stm time timezoneOlson timezoneSeries utf8String X11
|
||||
X11Xft
|
||||
regexCompat stm time timezoneOlson timezoneSeries transformers
|
||||
utf8String X11 X11Xft
|
||||
];
|
||||
extraLibraries = [ libXrandr wirelesstools ];
|
||||
extraLibraries = [ libXpm libXrandr wirelesstools ];
|
||||
configureFlags = "-fall_extensions";
|
||||
meta = {
|
||||
homepage = "http://xmobar.org";
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xterm-303";
|
||||
name = "xterm-312";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://invisible-island.net/xterm/${name}.tgz";
|
||||
sha256 = "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla";
|
||||
sha256 = "0vpkhls3i12ly4r68igz91vh6s9179wihjkdy0gvwr752hdqxm7s";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -32,11 +32,6 @@ stdenv.mkDerivation {
|
||||
-e 's|/bin/echo|echo|' \
|
||||
-e "/python_arch/s/: *'[^']*'/: '""'/" \
|
||||
build/common.gypi chrome/chrome_tests.gypi
|
||||
'' + optionalString (versionOlder version "38.0.0.0") ''
|
||||
sed -i -e '/not RunGN/,+1d' -e '/import.*depot/d' build/gyp_chromium
|
||||
sed -i -e 's|/usr/bin/gcc|gcc|' \
|
||||
third_party/WebKit/Source/build/scripts/scripts.gypi \
|
||||
third_party/WebKit/Source/build/scripts/preprocessor.pm
|
||||
'' + optionalString useOpenSSL ''
|
||||
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
|
||||
'';
|
||||
|
@ -1,21 +1,21 @@
|
||||
# This file is autogenerated from update.sh in the parent directory.
|
||||
{
|
||||
dev = {
|
||||
version = "39.0.2171.7";
|
||||
sha256 = "1wxi601zsi10jw7ypa4i0a2g5hd3hqrb5pqkkry1pgbdimw69sb8";
|
||||
sha256bin32 = "11isyislr5mbbhwk625b347xyyp1x3xgws844sjbbcx83gf0ij7y";
|
||||
sha256bin64 = "16b0yzlm8j7kx8pc6fhzwiizl7zrzxmfal40q45848715jyln8hf";
|
||||
version = "40.0.2182.3";
|
||||
sha256 = "1713y6f2q5qh32wg027nphkv6p6rgq0q1awqcy543ypbk9p1jvbm";
|
||||
sha256bin32 = "0qf0ccfg77qc17iy5cndkp827s8li3qyxasmgjq224g579wcj0bl";
|
||||
sha256bin64 = "07f97m548kj7indpzyyvksa4gisndxc1s8qslk43mgsx26kz62rf";
|
||||
};
|
||||
beta = {
|
||||
version = "38.0.2125.101";
|
||||
sha256 = "12hrl7i0xrjdwz8yaap5jhc6bzn29pk6dcz96743n6j7mcckac6k";
|
||||
sha256bin32 = "178nffl5pgqajg7vxxisycl79vnyv1iqqz04riywgj88mw7mjwpg";
|
||||
sha256bin64 = "0akwvnl987w8wli4h4k2x8xnpkzk9n8hn9wbp1lw87ch08sr7zfm";
|
||||
version = "39.0.2171.19";
|
||||
sha256 = "19j86hzh552a73mvabzgdiq0s1ypr30b6lkn4kfxc2vhs1ds8nmg";
|
||||
sha256bin32 = "06imcc3r6g4f7yi8b4mzknqk11khzk44pjrw0qnw40kgjf0kkgd3";
|
||||
sha256bin64 = "0qd594rbg049g1h4s7lgw9abcccx6wrl3fggkd1z9bl8ihj54j4b";
|
||||
};
|
||||
stable = {
|
||||
version = "37.0.2062.120";
|
||||
sha256 = "1yvf1hzza5cdsa67dg302ifcwb759r8sf2z21p9q9wyanrc3f1xk";
|
||||
sha256bin32 = "07zwf5yn3ig8x9ysjdpm7w1fh4rcyxzfsnqvxmabc0bkrv2r1hg7";
|
||||
sha256bin64 = "02qc5qq5v9k55c5bxmndjh1xl6j1qaxk7k4r8mm0k5nxxyqih1p2";
|
||||
version = "38.0.2125.101";
|
||||
sha256 = "12hrl7i0xrjdwz8yaap5jhc6bzn29pk6dcz96743n6j7mcckac6k";
|
||||
sha256bin32 = "1c35j4wx53njcqbdqznz2m0791bb9lpmhnpkrll36051437f25wl";
|
||||
sha256bin64 = "1k8hrrxlqc1mv88v2qkyq8188lfaibvqpqg0g8qgj2ha5vsnvwvw";
|
||||
};
|
||||
}
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
|
||||
|
||||
let version = "32.0.3"; in
|
||||
let version = "33.0"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "firefox-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
|
||||
sha1 = "1f831147365478e353212714038e812ca3e9fe42";
|
||||
sha1 = "ad10e8fefcd9687d2b67bacafa4ecb5f5ca4af66";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
|
||||
]
|
||||
++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
|
||||
else [ "--disable-debug" "--enable-release"
|
||||
"--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
|
||||
"--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O3"}"
|
||||
"--enable-strip" ])
|
||||
++ lib.optional enableOfficialBranding "--enable-official-branding";
|
||||
|
||||
|
@ -4,6 +4,6 @@ stdenv.mkDerivation {
|
||||
name = "links-1.00pre15";
|
||||
src = fetchurl {
|
||||
url = http://artax.karlin.mff.cuni.cz/~mikulas/links/download/links-1.00pre15.tar.gz;
|
||||
md5 = "f64823b9a1ac2d79df578a991dfae8b8";
|
||||
sha256 = "0yzgzc6jm9vhv7rgbj5s9zwxn9fnf4nyap9l6dzgpwsn7m18vprv";
|
||||
};
|
||||
}
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vimb-${version}";
|
||||
version = "2.7";
|
||||
version = "2.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
|
||||
sha256 = "05i5p9827rgga4h27qy3qh4ps8aynkcr55j681ddhn16ci3dk8zr";
|
||||
sha256 = "04ify6gqpkislsppaplvdfgs3fja9gl37j3dywg7bhz1fbkv166k";
|
||||
};
|
||||
|
||||
# Nixos default ca bundle
|
||||
|
@ -1,51 +1,43 @@
|
||||
x@{builderDefsPackage
|
||||
, guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
|
||||
, libunwind, ncurses
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchgit
|
||||
, guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
|
||||
, libunwind, ncurses, curl, jansson, texinfo
|
||||
, automake, autoconf
|
||||
}:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
let
|
||||
s = rec {
|
||||
baseName="freetalk";
|
||||
version="3.2";
|
||||
version="4.0rc6";
|
||||
name="${baseName}-${version}";
|
||||
url="mirror://savannah/${baseName}/${name}.tar.gz";
|
||||
hash="12dn7yj9k5xsrrjlnma77wzpvsdxjccwla1q0wy3lacl5l2p0jms";
|
||||
url="https://github.com/GNUFreetalk/freetalk";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256="0sj3bwq9n6ijwv552nmi038sz7wayq8r3zaj6ngn2cnkn2b5nwbz";
|
||||
};
|
||||
buildInputs = [
|
||||
guile pkgconfig glib loudmouth gmp libidn readline libtool
|
||||
libunwind ncurses curl jansson texinfo
|
||||
autoconf automake
|
||||
];
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
stdenv.mkDerivation {
|
||||
inherit (s) name version;
|
||||
inherit buildInputs;
|
||||
src = fetchgit {
|
||||
inherit (s) url rev sha256;
|
||||
name = "git-export-${s.name}";
|
||||
};
|
||||
|
||||
patches = [./01_callbacks_const_fix.diff];
|
||||
preConfigure = ''
|
||||
patchShebangs .
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
|
||||
|
||||
meta = {
|
||||
description = "Console XMPP client";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
linux;
|
||||
license = a.lib.licenses.gpl3Plus;
|
||||
inherit (s) version;
|
||||
description = "Console XMPP client";
|
||||
license = stdenv.lib.licenses.gpl3Plus ;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
downloadPage = "http://www.gnu.org/software/freetalk/";
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://www.gnu.org/software/freetalk/";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
@ -22,20 +22,14 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gajim-${version}";
|
||||
version = "0.15.4";
|
||||
version = "0.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.gajim.org/downloads/0.15/gajim-${version}.tar.gz";
|
||||
sha256 = "1g4m5j777vqqdwqvr2m6l09ljjx65ilag45d5kfc78z7frm0cz7g";
|
||||
url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2";
|
||||
sha256 = "14x15jwgl0c6vwj02ccpzmxr3fczp632mnj50cpklbaj4bxqvgbs";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
name = "gajim-drill-srv.patch";
|
||||
url = "https://projects.archlinux.org/svntogit/packages.git/"
|
||||
+ "plain/trunk/gajim-drill.patch?h=packages/gajim";
|
||||
sha256 = "1k8zz3ns0l0kriffq41jgkv5ym6jvyd24171l7s98v9d81prdw1w";
|
||||
})
|
||||
(fetchurl {
|
||||
name = "gajim-icon-index.patch";
|
||||
url = "http://hg.gajim.org/gajim/raw-rev/b9ec78663dfb";
|
||||
@ -69,6 +63,7 @@ stdenv.mkDerivation rec {
|
||||
pythonPackages.pygobject pythonPackages.pyGtkGlade
|
||||
pythonPackages.sqlite3 pythonPackages.pyasn1
|
||||
pythonPackages.pyxdg
|
||||
pythonPackages.nbxmpp
|
||||
pyopenssl pythonDBus
|
||||
] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ]
|
||||
++ optional enableE2E pythonPackages.pycrypto
|
||||
@ -88,5 +83,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Jabber client written in PyGTK";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.raskin maintainers.aszlig ];
|
||||
downloadPage = "http://gajim.org/downloads.php";
|
||||
updateWalker = true;
|
||||
};
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.1.tar.gz;
|
||||
md5 = "004c2c005a1b78739e22bc49d33e244d";
|
||||
sha256 = "12n059j9iihhpf6spmlaspqzxz3wqan6kkpnhmlj08jdijpnk84m";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "irssi-0.8.15";
|
||||
name = "irssi-0.8.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://irssi.org/files/${name}.tar.bz2";
|
||||
sha256 = "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1";
|
||||
sha256 = "15wzs4h754jzs1l4z7qzsyjllk9wdx3qfb6gymdiykvmlb9gwyiz";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
|
||||
|
@ -0,0 +1,86 @@
|
||||
{ fetchurl, stdenv
|
||||
, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
|
||||
, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
|
||||
, perl, pkgconfig, poppler, python, webkitgtk2
|
||||
|
||||
# Build options
|
||||
# TODO: A flag to build the manual.
|
||||
# TODO: Plugins that complain about their missing dependencies, even when
|
||||
# provided:
|
||||
# gdata requires libgdata
|
||||
# geolocation requires libchamplain
|
||||
# python requires python
|
||||
, enableLdap ? false
|
||||
, enableNetworkManager ? false
|
||||
, enablePgp ? false
|
||||
, enablePluginArchive ? false
|
||||
, enablePluginFancy ? false
|
||||
, enablePluginNotificationDialogs ? true
|
||||
, enablePluginNotificationSounds ? true
|
||||
, enablePluginPdf ? false
|
||||
, enablePluginRavatar ? false
|
||||
, enablePluginRssyl ? false
|
||||
, enablePluginSmime ? false
|
||||
, enablePluginSpamassassin ? false
|
||||
, enablePluginSpamReport ? false
|
||||
, enablePluginVcalendar ? false
|
||||
, enableSpellcheck ? false
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let version = "3.10.1"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "claws-mail-${version}";
|
||||
|
||||
meta = {
|
||||
description = "The user-friendly, lightweight, and fast email client";
|
||||
homepage = http://www.claws-mail.org/;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://downloads.sourceforge.net/project/claws-mail/Claws%20Mail/${version}/claws-mail-${version}.tar.bz2";
|
||||
sha256 = "634d35dee311a288fb8fcba36d26987afdcd5485730cf67d00554110f414178e";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
|
||||
++ optional enableSpellcheck enchant
|
||||
++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
|
||||
++ optional enablePluginArchive libarchive
|
||||
++ optional enablePluginNotificationSounds libcanberra
|
||||
++ optional enablePluginNotificationDialogs libnotify
|
||||
++ optional enablePluginFancy libsoup
|
||||
++ optional
|
||||
(enablePluginFancy || enablePluginRavatar || enablePluginRssyl
|
||||
|| enablePluginSpamassassin || enablePluginSpamReport
|
||||
|| enablePluginVcalendar)
|
||||
curl
|
||||
++ optional enablePluginRssyl libxml2
|
||||
++ optional enableNetworkManager networkmanager
|
||||
++ optional enableLdap openldap
|
||||
++ optional enablePluginPdf poppler
|
||||
++ optional enablePluginFancy webkitgtk2;
|
||||
|
||||
configureFlags =
|
||||
optional (!enableLdap) "--disable-ldap"
|
||||
++ optional (!enableNetworkManager) "--disable-networkmanager"
|
||||
++ optionals (!enablePgp) [
|
||||
"--disable-pgpcore-plugin"
|
||||
"--disable-pgpinline-plugin"
|
||||
"--disable-pgpmime-plugin"
|
||||
]
|
||||
++ optional (!enablePluginArchive) "--disable-archive-plugin"
|
||||
++ optional (!enablePluginFancy) "--disable-fancy-plugin"
|
||||
++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
|
||||
++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
|
||||
++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
|
||||
++ optional (!enablePluginSmime) "--disable-smime-plugin"
|
||||
++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin"
|
||||
++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin"
|
||||
++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
|
||||
++ optional (!enableSpellcheck) "--disable-enchant";
|
||||
}
|
@ -2,14 +2,14 @@
|
||||
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
name = "mailpile-${version}";
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://github.com/pagekite/Mailpile";
|
||||
rev = "af3e2554dcef892cc44e044ce61e1693f09228c0";
|
||||
sha256 = "0p8j5w5281rjl0nigsw7glfp7inz13p6iqlr9g3m3vh72i9pvl7h";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "0h84cc9kwb0m4admqjkpg4pllxlh095rmzvrql45kz71fpnxs780";
|
||||
};
|
||||
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${pythonPackages.python.libPrefix}/site-packages/' + dir"
|
||||
'';
|
||||
@ -31,4 +31,4 @@ pythonPackages.buildPythonPackage rec {
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -15,11 +15,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mumble-" + version;
|
||||
version = "1.2.7";
|
||||
version = "1.2.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mumble/${name}.tar.gz";
|
||||
sha256 = "0zjqkkdkcvgmqic6np87hj6b6f851lkzyd6y3cqj6zzacjvps31d";
|
||||
sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc";
|
||||
};
|
||||
|
||||
patches = optional jackSupport ./mumble-jack-support.patch;
|
||||
|
24
pkgs/applications/networking/p2p/opentracker/default.nix
Normal file
24
pkgs/applications/networking/p2p/opentracker/default.nix
Normal file
@ -0,0 +1,24 @@
|
||||
{ stdenv, fetchgit, libowfat, zlib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "opentracker";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/masroore/opentracker.git";
|
||||
rev = "9a26b3d203755577879315ecc2b515d0e22793cb";
|
||||
sha256 = "74a7a6cbe80932fefb1698524809ce89be696f0fe3afd38fcb2b99fa59c9c891";
|
||||
};
|
||||
|
||||
buildInputs = [ libowfat zlib ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp opentracker $out/bin
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/masroore/opentracker;
|
||||
license = "beer-ware";
|
||||
platforms = platforms.linux;
|
||||
description = "Bittorrent tracker project aiminf for minimal resource usage and is intended to run at your wlan router";
|
||||
};
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
{ stdenv, fetchgit, kdepimlibs, funambol, liblikeback }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "akunambol-20110304";
|
||||
|
||||
src = fetchgit {
|
||||
url = git://anongit.kde.org/akunambol.git;
|
||||
rev = "1d832bbbce84f474e3f1e5d2f9fa8a4079b0c8e5";
|
||||
sha256 = "1d2x42lbw32qyawri7z0mrbafz36r035w5bxjpq51awyqjwkbb2d";
|
||||
};
|
||||
|
||||
buildInputs = [ kdepimlibs funambol liblikeback ];
|
||||
KDEDIRS = liblikeback;
|
||||
|
||||
patches = [ ./non-latin.diff ];
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
diff --git a/qtgui/standardsourcesettings.cpp b/qtgui/standardsourcesettings.cpp
|
||||
index a14a737..5d4712e 100644
|
||||
--- a/qtgui/standardsourcesettings.cpp
|
||||
+++ b/qtgui/standardsourcesettings.cpp
|
||||
@@ -83,9 +83,9 @@ void StandardSourceSettings::populateCollections()
|
||||
foreach( const Collection &collection, colls ) {
|
||||
if (collection.contentMimeTypes().contains(source->getAkonadiMimeType())) {
|
||||
i++;
|
||||
- const char* dn = collection.name().toUtf8();
|
||||
- LOG.debug("Adding collection id %lld named %s", collection.id(), dn);
|
||||
- collections->addItem(dn);
|
||||
+ LOG.debug("Adding collection id %lld named %s", collection.id(),
|
||||
+ collection.name().toLocal8Bit().data());
|
||||
+ collections->addItem(collection.name());
|
||||
idList.append(collection.id());
|
||||
}
|
||||
}
|
22
pkgs/applications/office/tagainijisho/default.nix
Normal file
22
pkgs/applications/office/tagainijisho/default.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{stdenv, fetchurl, qt4, cmake, sqlite}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "tagainijisho-1.0.2";
|
||||
src = fetchurl {
|
||||
url = https://github.com/Gnurou/tagainijisho/releases/download/1.0.2/tagainijisho-1.0.2.tar.gz;
|
||||
sha256 = "0gvwsphy2a1b2npxkzvaf91rbzb00zhi2anxd5102h6ld5m52jhl";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 cmake sqlite ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A free, open-source Japanese dictionary and kanji lookup tool";
|
||||
homepage = http://www.tagaini.net/;
|
||||
license = with licenses; [
|
||||
/* program */ gpl3Plus
|
||||
/* data */ cc-by-sa-30
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c
|
||||
diff -wbBur xplanet-1.3.0/src/libimage/gif.c xplanet-1.3.0.my/src/libimage/gif.c
|
||||
--- xplanet-1.3.0/src/libimage/gif.c 2006-03-26 01:50:51.000000000 +0300
|
||||
+++ /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c 2013-07-30 18:21:17.412474692 +0400
|
||||
+++ xplanet-1.3.0.my/src/libimage/gif.c 2014-05-29 18:59:14.830652716 +0400
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
@ -59,6 +59,15 @@ diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
free(buffer);
|
||||
|
||||
- DGifCloseFile(infile);
|
||||
+ DGifCloseFile(infile, NULL);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
return(0);
|
||||
}
|
||||
@ -119,11 +128,13 @@ diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686
|
||||
return(0);
|
||||
}
|
||||
ptr += width;
|
||||
@@ -233,7 +233,7 @@
|
||||
@@ -232,8 +232,8 @@
|
||||
|
||||
EGifSpew(outfile);
|
||||
|
||||
if (EGifCloseFile(outfile) == GIF_ERROR)
|
||||
- if (EGifCloseFile(outfile) == GIF_ERROR)
|
||||
- PrintGifError();
|
||||
+ if (EGifCloseFile(outfile, NULL) == GIF_ERROR)
|
||||
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||
|
||||
free(buffer);
|
||||
|
30
pkgs/applications/science/electronics/fritzing/default.nix
Normal file
30
pkgs/applications/science/electronics/fritzing/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ stdenv, fetchurl, qt5, boost }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
version = "0.9.0b";
|
||||
name = "fritzing";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://fritzing.org/download/${version}/source-tarball/fritzing-${version}.source.tar_1.bz2";
|
||||
sha256 = "181qnknq1j5x075icpw2qk0sc4wcj9f2hym533vs936is0wxp2gk";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
tar xjf ${src}
|
||||
'';
|
||||
|
||||
buildInputs = [ qt5 boost ];
|
||||
|
||||
configurePhase = ''
|
||||
cd fritzing-${version}.source
|
||||
qmake PREFIX=$out phoenix.pro
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "An open source prototyping tool for Arduino-based projects";
|
||||
homepage = http://fritzing.org/;
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
maintainers = [ stdenv.lib.maintainers.robberer ];
|
||||
};
|
||||
}
|
@ -2,8 +2,8 @@
|
||||
|
||||
{stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
|
||||
|
||||
let
|
||||
version = "8.5pre-01feb42";
|
||||
let
|
||||
version = "8.5pre-2313bde0";
|
||||
coq-version = "8.5";
|
||||
buildIde = lablgtk != null;
|
||||
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
|
||||
@ -17,8 +17,8 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchgit {
|
||||
url = git://scm.gforge.inria.fr/coq/coq.git;
|
||||
rev = "01feb4206d26b41bfaab9bd45a7b2fc4db569baf";
|
||||
sha256 = "e6d44ebc3019b2650c6e320218b264f5bde68bf6f222b356d41b0a38918e839f";
|
||||
rev = "2313bde0116a5916912bebbaca77d291f7b2760a";
|
||||
sha256 = "116b8060a47a7b2d0cac72d86f7e320bec99b6d450614d1e6b92ff919619c509";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
|
||||
|
23
pkgs/applications/science/logic/cvc4/default.nix
Normal file
23
pkgs/applications/science/logic/cvc4/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{stdenv, fetchurl, gmp, libantlr3c, boost}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "cvc4-1.4";
|
||||
src = fetchurl {
|
||||
url = http://cvc4.cs.nyu.edu/builds/src/cvc4-1.4.tar.gz;
|
||||
sha256 = "093h7zgv4z4ad503j30dpn8k2pz9m90pvd7gi5axdmwsxgwlzzkn";
|
||||
};
|
||||
|
||||
buildInputs = [ gmp libantlr3c boost ];
|
||||
|
||||
preConfigure = "patchShebangs ./src/";
|
||||
|
||||
doChecks = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems";
|
||||
homepage = http://cvc4.cs.nyu.edu/web/;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
@ -2,21 +2,21 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "why3-${version}";
|
||||
version = "0.83";
|
||||
version = "0.85";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gforge.inria.fr/frs/download.php/33490/${name}.tar.gz";
|
||||
sha256 = "1jcs5vj91ppbgh4q4hch89b63wgakjhg35pm3r4jwhp377lnggya";
|
||||
url = "https://gforge.inria.fr/frs/download.php/34074/why3-0.85.tar.gz";
|
||||
sha256 = "0sj1pd50lqvnvyss1f8ysgigdi64s91rrpdrmp7crmcy1npa8apf";
|
||||
};
|
||||
|
||||
buildInputs = with ocamlPackages;
|
||||
[ coq ocaml findlib lablgtk ocamlgraph zarith ];
|
||||
|
||||
meta = {
|
||||
description = "why is a software verification platform";
|
||||
meta = with stdenv.lib; {
|
||||
description = "A platform for deductive program verification";
|
||||
homepage = "http://why3.lri.fr/";
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ thoughtpolice vbgl ];
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
let
|
||||
name = "maxima";
|
||||
version = "5.33.0";
|
||||
version = "5.34.1";
|
||||
|
||||
searchPath =
|
||||
stdenv.lib.makeSearchPath "bin"
|
||||
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
|
||||
sha256 = "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2";
|
||||
sha256 = "1dw9vfzldpj7lv303xbw0wpyn6ra6i2yzwlrjbcx7j0jm5n43ji0";
|
||||
};
|
||||
|
||||
buildInputs = [sbcl texinfo perl makeWrapper];
|
||||
|
@ -23,6 +23,9 @@ cabal.mkDerivation (self: {
|
||||
mkdir -p $out/etc/bash_completion.d
|
||||
mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
|
||||
'';
|
||||
patchPhase = ''
|
||||
sed -i -e 's|random.*==.*|random|' darcs.cabal
|
||||
'';
|
||||
meta = {
|
||||
homepage = "http://darcs.net/";
|
||||
description = "a distributed, interactive, smart revision control system";
|
||||
|
@ -48,5 +48,6 @@ cabal.mkDerivation (self: {
|
||||
license = self.stdenv.lib.licenses.gpl3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = with self.stdenv.lib.maintainers; [ simons ];
|
||||
broken = true;
|
||||
};
|
||||
})
|
||||
|
@ -2,7 +2,7 @@
|
||||
, guiSupport ? false, tk ? null, curses }:
|
||||
|
||||
let
|
||||
version = "3.1.1";
|
||||
version = "3.1.2";
|
||||
name = "mercurial-${version}";
|
||||
in
|
||||
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mercurial.selenic.com/release/${name}.tar.gz";
|
||||
sha256 = "1ncqagvxcqa41ginmf0kpx2z6b2r2zrq7bdkza3nfba682c2is67";
|
||||
sha256 = "0fldlypjpzn12az2gk4b3am615wih3r6ld69im97iqq76zmmrgjx";
|
||||
};
|
||||
|
||||
inherit python; # pass it so that the same version can be used in hg2git
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, ed }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rcs-5.9.2";
|
||||
name = "rcs-5.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/rcs/${name}.tar.xz";
|
||||
sha256 = "0wdmmplga9k05d9k7wjqv4zb6xvvzsli8hmn206pvangki1g66k5";
|
||||
sha256 = "0isvzwfvqkg7zcsznra6wqh650z49ib113n7gp6ncxv5p30x3c38";
|
||||
};
|
||||
|
||||
buildInputs = [ ed ];
|
||||
|
@ -0,0 +1,100 @@
|
||||
Description: FHS through env vars
|
||||
Forwarded: not-needed
|
||||
Author: Jérémy Lal <kapouer@melix.org>
|
||||
Last-Update: 2013-09-28
|
||||
--- redmine.orig/app/models/attachment.rb
|
||||
+++ redmine/app/models/attachment.rb
|
||||
@@ -46,10 +46,10 @@ class Attachment < ActiveRecord::Base
|
||||
"LEFT JOIN #{Project.table_name} ON #{Document.table_name}.project_id = #{Project.table_name}.id"}
|
||||
|
||||
cattr_accessor :storage_path
|
||||
- @@storage_path = Redmine::Configuration['attachments_storage_path'] || File.join(Rails.root, "files")
|
||||
+ @@storage_path = Redmine::Configuration['attachments_storage_path'] || ENV['RAILS_VAR'] ? File.join(ENV['RAILS_VAR'], "files") : File.join(Rails.root, "files")
|
||||
|
||||
cattr_accessor :thumbnails_storage_path
|
||||
- @@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails")
|
||||
+ @@thumbnails_storage_path = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], "thumbnails") : File.join(Rails.root, "tmp", "thumbnails")
|
||||
|
||||
before_save :files_to_final_location
|
||||
after_destroy :delete_from_disk
|
||||
--- redmine.orig/lib/redmine/configuration.rb
|
||||
+++ redmine/lib/redmine/configuration.rb
|
||||
@@ -32,7 +32,7 @@ module Redmine
|
||||
# * <tt>:file</tt>: the configuration file to load (default: config/configuration.yml)
|
||||
# * <tt>:env</tt>: the environment to load the configuration for (default: Rails.env)
|
||||
def load(options={})
|
||||
- filename = options[:file] || File.join(Rails.root, 'config', 'configuration.yml')
|
||||
+ filename = options[:file] || ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'configuration.yml') : File.join(Rails.root, 'config', 'configuration.yml')
|
||||
env = options[:env] || Rails.env
|
||||
|
||||
@config = @defaults.dup
|
||||
@@ -103,7 +103,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def load_deprecated_email_configuration(env)
|
||||
- deprecated_email_conf = File.join(Rails.root, 'config', 'email.yml')
|
||||
+ deprecated_email_conf = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'email.yml') : File.join(Rails.root, 'config', 'email.yml')
|
||||
if File.file?(deprecated_email_conf)
|
||||
warn "Storing outgoing emails configuration in config/email.yml is deprecated. You should now store it in config/configuration.yml using the email_delivery setting."
|
||||
@config.merge!({'email_delivery' => load_from_yaml(deprecated_email_conf, env)})
|
||||
--- redmine.orig/lib/redmine/export/pdf.rb
|
||||
+++ redmine/lib/redmine/export/pdf.rb
|
||||
@@ -38,7 +38,7 @@ module Redmine
|
||||
attr_accessor :footer_date
|
||||
|
||||
def initialize(lang, orientation='P')
|
||||
- @@k_path_cache = Rails.root.join('tmp', 'pdf')
|
||||
+ @@k_path_cache = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'pdf') : Rails.root.join('tmp', 'pdf')
|
||||
FileUtils.mkdir_p @@k_path_cache unless File::exist?(@@k_path_cache)
|
||||
set_language_if_valid lang
|
||||
pdf_encoding = l(:general_pdf_encoding).upcase
|
||||
--- redmine.orig/config/application.rb
|
||||
+++ redmine/config/application.rb
|
||||
@@ -52,8 +63,21 @@ module RedmineApp
|
||||
# Do not include all helpers
|
||||
config.action_controller.include_all_helpers = false
|
||||
|
||||
+ # move tmp directory to RAILS_TMP
|
||||
+ config.paths['tmp'] = ENV['RAILS_TMP']
|
||||
+
|
||||
config.session_store :cookie_store, :key => '_redmine_session'
|
||||
|
||||
+ # log path
|
||||
+ config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
|
||||
+
|
||||
+ config.paths['public'] = ENV['RAILS_PUBLIC'] unless !ENV['RAILS_PUBLIC']
|
||||
+
|
||||
+ config.cache_store = :file_store, File.join(ENV['RAILS_TMP'], "cache")
|
||||
+
|
||||
+ # Set Active Record's database.yml path
|
||||
+ config.paths['config/database'] = File.join(ENV['RAILS_ETC'], 'database.yml') unless !ENV['RAILS_ETC']
|
||||
+
|
||||
if File.exists?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
|
||||
instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
|
||||
end
|
||||
--- redmine.orig/lib/plugins/rfpdf/lib/tcpdf.rb
|
||||
+++ redmine/lib/plugins/rfpdf/lib/tcpdf.rb
|
||||
@@ -89,10 +89,10 @@ class TCPDF
|
||||
@@k_small_ratio = 2/3.0
|
||||
|
||||
cattr_accessor :k_path_cache
|
||||
- @@k_path_cache = Rails.root.join('tmp')
|
||||
+ @@k_path_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
|
||||
|
||||
cattr_accessor :k_path_url_cache
|
||||
- @@k_path_url_cache = Rails.root.join('tmp')
|
||||
+ @@k_path_url_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
|
||||
|
||||
attr_accessor :barcode
|
||||
|
||||
--- redmine.orig/lib/redmine/scm/adapters/abstract_adapter.rb
|
||||
+++ redmine/lib/redmine/scm/adapters/abstract_adapter.rb
|
||||
@@ -222,7 +222,7 @@ module Redmine
|
||||
if @stderr_log_file.nil?
|
||||
writable = false
|
||||
path = Redmine::Configuration['scm_stderr_log_file'].presence
|
||||
- path ||= Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
|
||||
+ path ||= ENV['RAILS_LOG'] ? File.join(ENV['RAILS_LOG'], "#{Rails.env}.scm.stderr.log").to_s : Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
|
||||
if File.exists?(path)
|
||||
if File.file?(path) && File.writable?(path)
|
||||
writable = true
|
@ -0,0 +1,72 @@
|
||||
Description: Externalize session config to yml in /etc
|
||||
Forwarded: not-needed
|
||||
Author: Jérémy Lal <kapouer@melix.org>
|
||||
Last-Update: 2010-01-10
|
||||
--- redmine.orig/lib/tasks/initializers.rake
|
||||
+++ redmine/lib/tasks/initializers.rake
|
||||
@@ -1,11 +1,12 @@
|
||||
desc 'Generates a secret token for the application.'
|
||||
+task :generate_secret_token do
|
||||
|
||||
-file 'config/initializers/secret_token.rb' do
|
||||
- path = File.join(Rails.root, 'config', 'initializers', 'secret_token.rb')
|
||||
- secret = SecureRandom.hex(40)
|
||||
- File.open(path, 'w') do |f|
|
||||
- f.write <<"EOF"
|
||||
-# This file was generated by 'rake generate_secret_token', and should
|
||||
+filename = ENV['YML_SESSION_FILENAME'] ? ENV['YML_SESSION_FILENAME'] : 'session.yml'
|
||||
+path = File.join(ENV['RAILS_ETC'] ? ENV['RAILS_ETC'] : File.join(Rails.root, 'config'), filename)
|
||||
+secret = SecureRandom.hex(40)
|
||||
+File.open(path, 'w') do |f|
|
||||
+ f.write <<"EOF"
|
||||
+# This file was generated by 'rake generate_session_store',
|
||||
# not be made visible to public.
|
||||
# If you have a load-balancing Redmine cluster, you will need to use the
|
||||
# same version of this file on each machine. And be sure to restart your
|
||||
@@ -15,10 +18,18 @@ file 'config/initializers/secret_token.r
|
||||
# change this key, all old sessions will become invalid! Make sure the
|
||||
# secret is at least 30 characters and all random, no regular words or
|
||||
# you'll be exposed to dictionary attacks.
|
||||
-RedmineApp::Application.config.secret_token = '#{secret}'
|
||||
+
|
||||
+production:
|
||||
+ key: _redmine_
|
||||
+ secret: #{secret}
|
||||
+
|
||||
+development:
|
||||
+ key: _redmine_
|
||||
+ secret: #{secret}
|
||||
+
|
||||
+test:
|
||||
+ key: _redmine_
|
||||
+ secret: #{secret}
|
||||
EOF
|
||||
end
|
||||
end
|
||||
-
|
||||
-desc 'Generates a secret token for the application.'
|
||||
-task :generate_secret_token => ['config/initializers/secret_token.rb']
|
||||
--- redmine.orig/config/application.rb
|
||||
+++ redmine/config/application.rb
|
||||
@@ -66,7 +66,20 @@ module RedmineApp
|
||||
# move tmp directory to RAILS_TMP
|
||||
config.paths['tmp'] = ENV['RAILS_TMP']
|
||||
|
||||
- config.session_store :cookie_store, :key => '_redmine_session'
|
||||
+ # loads cookie based session session and secret keys
|
||||
+ # this is needed here because initializers are loaded after plugins,
|
||||
+ # and some plugins initialize ActionController which requires a secret to be set.
|
||||
+ # crash if file not found
|
||||
+ relativeUrlRoot = ENV['RAILS_RELATIVE_URL_ROOT']
|
||||
+ filename = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'session.yml') : File.join(File.dirname(__FILE__), '..', 'session.yml')
|
||||
+ if File.exists?(filename)
|
||||
+ sessionconfig = YAML::load_file(filename)
|
||||
+ config.session_store :cookie_store, :key => sessionconfig[Rails.env]['key'], :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
|
||||
+ config.secret_token = sessionconfig[Rails.env]['secret']
|
||||
+ else
|
||||
+ # temporary settings before session.yml is created
|
||||
+ config.session_store :cookie_store, :key => '_redmine_session', :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
|
||||
+ end
|
||||
|
||||
# log path
|
||||
config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
|
@ -0,0 +1,11 @@
|
||||
--- redmine.orig/lib/redmine/plugin.rb
|
||||
+++ redmine/lib/redmine/plugin.rb
|
||||
@@ -47,7 +47,7 @@ module Redmine #:nodoc:
|
||||
self.directory = File.join(Rails.root, 'plugins')
|
||||
|
||||
cattr_accessor :public_directory
|
||||
- self.public_directory = File.join(Rails.root, 'public', 'plugin_assets')
|
||||
+ self.public_directory = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'plugin_assets') : File.join(Rails.root, 'public', 'plugin_assets')
|
||||
|
||||
@registered_plugins = {}
|
||||
class << self
|
152
pkgs/applications/version-management/redmine/Gemfile.lock
Normal file
152
pkgs/applications/version-management/redmine/Gemfile.lock
Normal file
@ -0,0 +1,152 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actionmailer (3.2.19)
|
||||
actionpack (= 3.2.19)
|
||||
mail (~> 2.5.4)
|
||||
actionpack (3.2.19)
|
||||
activemodel (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
builder (~> 3.0.0)
|
||||
erubis (~> 2.7.0)
|
||||
journey (~> 1.0.4)
|
||||
rack (~> 1.4.5)
|
||||
rack-cache (~> 1.2)
|
||||
rack-test (~> 0.6.1)
|
||||
sprockets (~> 2.2.1)
|
||||
activemodel (3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
builder (~> 3.0.0)
|
||||
activerecord (3.2.19)
|
||||
activemodel (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
arel (~> 3.0.2)
|
||||
tzinfo (~> 0.3.29)
|
||||
activeresource (3.2.19)
|
||||
activemodel (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
activesupport (3.2.19)
|
||||
i18n (~> 0.6, >= 0.6.4)
|
||||
multi_json (~> 1.0)
|
||||
arel (3.0.3)
|
||||
awesome_nested_set (2.1.6)
|
||||
activerecord (>= 3.0.0)
|
||||
builder (3.0.0)
|
||||
capybara (2.1.0)
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (~> 2.0)
|
||||
childprocess (0.5.5)
|
||||
ffi (~> 1.0, >= 1.0.11)
|
||||
coderay (1.1.0)
|
||||
erubis (2.7.0)
|
||||
fastercsv (1.5.5)
|
||||
ffi (1.9.5)
|
||||
hike (1.2.3)
|
||||
i18n (0.6.11)
|
||||
journey (1.0.4)
|
||||
jquery-rails (2.0.3)
|
||||
railties (>= 3.1.0, < 5.0)
|
||||
thor (~> 0.14)
|
||||
json (1.8.1)
|
||||
mail (2.5.4)
|
||||
mime-types (~> 1.16)
|
||||
treetop (~> 1.4.8)
|
||||
metaclass (0.0.4)
|
||||
mime-types (1.25.1)
|
||||
mini_portile (0.6.0)
|
||||
mocha (1.0.0)
|
||||
metaclass (~> 0.0.1)
|
||||
multi_json (1.10.1)
|
||||
net-ldap (0.3.1)
|
||||
nokogiri (1.6.3.1)
|
||||
mini_portile (= 0.6.0)
|
||||
pg (0.17.1)
|
||||
polyglot (0.3.5)
|
||||
rack (1.4.5)
|
||||
rack-cache (1.2)
|
||||
rack (>= 0.4)
|
||||
rack-openid (1.4.2)
|
||||
rack (>= 1.1.0)
|
||||
ruby-openid (>= 2.1.8)
|
||||
rack-ssl (1.3.4)
|
||||
rack
|
||||
rack-test (0.6.2)
|
||||
rack (>= 1.0)
|
||||
rails (3.2.19)
|
||||
actionmailer (= 3.2.19)
|
||||
actionpack (= 3.2.19)
|
||||
activerecord (= 3.2.19)
|
||||
activeresource (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
bundler (~> 1.0)
|
||||
railties (= 3.2.19)
|
||||
railties (3.2.19)
|
||||
actionpack (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
rack-ssl (~> 1.3.2)
|
||||
rake (>= 0.8.7)
|
||||
rdoc (~> 3.4)
|
||||
thor (>= 0.14.6, < 2.0)
|
||||
rake (10.1.1)
|
||||
rdoc (3.12.2)
|
||||
json (~> 1.4)
|
||||
redcarpet (2.3.0)
|
||||
rmagick (2.13.3)
|
||||
ruby-openid (2.3.0)
|
||||
rubyzip (1.1.6)
|
||||
selenium-webdriver (2.43.0)
|
||||
childprocess (~> 0.5)
|
||||
multi_json (~> 1.0)
|
||||
rubyzip (~> 1.0)
|
||||
websocket (~> 1.0)
|
||||
shoulda (3.3.2)
|
||||
shoulda-context (~> 1.0.1)
|
||||
shoulda-matchers (~> 1.4.1)
|
||||
shoulda-context (1.0.2)
|
||||
shoulda-matchers (1.4.1)
|
||||
activesupport (>= 3.0.0)
|
||||
sprockets (2.2.2)
|
||||
hike (~> 1.2)
|
||||
multi_json (~> 1.0)
|
||||
rack (~> 1.0)
|
||||
tilt (~> 1.1, != 1.3.0)
|
||||
thor (0.19.1)
|
||||
tilt (1.4.1)
|
||||
treetop (1.4.15)
|
||||
polyglot
|
||||
polyglot (>= 0.3.1)
|
||||
tzinfo (0.3.41)
|
||||
websocket (1.2.1)
|
||||
xpath (2.0.0)
|
||||
nokogiri (~> 1.3)
|
||||
yard (0.8.7.4)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
activerecord-jdbc-adapter (~> 1.3.2)
|
||||
activerecord-jdbcpostgresql-adapter
|
||||
awesome_nested_set (= 2.1.6)
|
||||
builder (= 3.0.0)
|
||||
capybara (~> 2.1.0)
|
||||
coderay (~> 1.1.0)
|
||||
fastercsv (~> 1.5.0)
|
||||
jquery-rails (~> 2.0.2)
|
||||
mime-types
|
||||
mocha (~> 1.0.0)
|
||||
net-ldap (~> 0.3.1)
|
||||
pg (>= 0.11.0)
|
||||
rack-openid
|
||||
rails (= 3.2.19)
|
||||
rake (~> 10.1.1)
|
||||
rdoc (>= 2.4.2)
|
||||
redcarpet (~> 2.3.0)
|
||||
rmagick (>= 2.0.0)
|
||||
ruby-openid (~> 2.3.0)
|
||||
selenium-webdriver
|
||||
shoulda (~> 3.3.2)
|
||||
yard
|
332
pkgs/applications/version-management/redmine/Gemfile.nix
Normal file
332
pkgs/applications/version-management/redmine/Gemfile.nix
Normal file
@ -0,0 +1,332 @@
|
||||
[
|
||||
{
|
||||
name = "actionmailer";
|
||||
hash = "cd9f0b22f755b0adeae13cf949adaf63fa1c068c72d0a100572c6a11aecd3ba7";
|
||||
url = "http://rubygems.org/downloads/actionmailer-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "actionpack";
|
||||
hash = "c58ca2342aff2062f4f478551ce46d81918ac93200bc62d099764d2cd7499fcd";
|
||||
url = "http://rubygems.org/downloads/actionpack-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "activemodel";
|
||||
hash = "4ea3abf790eca9ee8228e9e2a465350e258294270a639b63f0e1dfad236fe70e";
|
||||
url = "http://rubygems.org/downloads/activemodel-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "activerecord";
|
||||
hash = "052945ad510744aaa3e35a817a6f515a2316e7dd96df6460f75b36067bb60372";
|
||||
url = "http://rubygems.org/downloads/activerecord-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "activeresource";
|
||||
hash = "8617d24537ca937cc67aac46aaa29782510d66136605426d0a23a3585a839daf";
|
||||
url = "http://rubygems.org/downloads/activeresource-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "activesupport";
|
||||
hash = "2c837a59250da14b12a6b0cfb6774f0afae90aa749fd96ad4347344d8417ad3d";
|
||||
url = "http://rubygems.org/downloads/activesupport-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "arel";
|
||||
hash = "c0006e2169deee3b8cc2d258296388822eeb2db59832450b9b7316e1387d0da4";
|
||||
url = "http://rubygems.org/downloads/arel-3.0.3.gem";
|
||||
version = "3.0.3";
|
||||
}
|
||||
{
|
||||
name = "awesome_nested_set";
|
||||
hash = "0dcd801aea5048f5ab907b62b4174b6763b191eaa4e1e11bb83f996f01349af8";
|
||||
url = "http://rubygems.org/downloads/awesome_nested_set-2.1.6.gem";
|
||||
version = "2.1.6";
|
||||
}
|
||||
{
|
||||
name = "builder";
|
||||
hash = "fbd3e15e5de02245f7d649b3415b2c2875cdc9a14dccde89aa30fc14a314618e";
|
||||
url = "http://rubygems.org/downloads/builder-3.0.0.gem";
|
||||
version = "3.0.0";
|
||||
}
|
||||
{
|
||||
name = "capybara";
|
||||
hash = "a9a19f8d6bb2dfcb1f05ea3e1727cb556d1cba0d234d1712b481e8d4f7bbb91e";
|
||||
url = "http://rubygems.org/downloads/capybara-2.1.0.gem";
|
||||
version = "2.1.0";
|
||||
}
|
||||
{
|
||||
name = "childprocess";
|
||||
hash = "9b583295a11932d2eeffa1e8f5b8fb2fb0064a2f0111ad98c3b752b94f80bf33";
|
||||
url = "http://rubygems.org/downloads/childprocess-0.5.5.gem";
|
||||
version = "0.5.5";
|
||||
}
|
||||
{
|
||||
name = "coderay";
|
||||
hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15";
|
||||
url = "http://rubygems.org/downloads/coderay-1.1.0.gem";
|
||||
version = "1.1.0";
|
||||
}
|
||||
{
|
||||
name = "erubis";
|
||||
hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba";
|
||||
url = "http://rubygems.org/downloads/erubis-2.7.0.gem";
|
||||
version = "2.7.0";
|
||||
}
|
||||
{
|
||||
name = "fastercsv";
|
||||
hash = "d098199e62e4e10eec436a9ea9b8c189dacd5c06f2825f00d1e0f1c29fdbc3b5";
|
||||
url = "http://rubygems.org/downloads/fastercsv-1.5.5.gem";
|
||||
version = "1.5.5";
|
||||
}
|
||||
{
|
||||
name = "ffi";
|
||||
hash = "0d2ef90163eef8545689e8dfc27fb1245a2d82e3500d587de1e38290629e662f";
|
||||
url = "http://rubygems.org/downloads/ffi-1.9.5.gem";
|
||||
version = "1.9.5";
|
||||
}
|
||||
{
|
||||
name = "hike";
|
||||
hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44";
|
||||
url = "http://rubygems.org/downloads/hike-1.2.3.gem";
|
||||
version = "1.2.3";
|
||||
}
|
||||
{
|
||||
name = "i18n";
|
||||
hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b";
|
||||
url = "http://rubygems.org/downloads/i18n-0.6.11.gem";
|
||||
version = "0.6.11";
|
||||
}
|
||||
{
|
||||
name = "journey";
|
||||
hash = "7454b8612530784000fbb17ea2df749a71b70702a0ac8ebef4a1e7f05aecc10f";
|
||||
url = "http://rubygems.org/downloads/journey-1.0.4.gem";
|
||||
version = "1.0.4";
|
||||
}
|
||||
{
|
||||
name = "jquery-rails";
|
||||
hash = "cc4eab342fb3b1fcbb2fc1c9a61b09ecd86d795b1f74d607994b0bc6fd5ef444";
|
||||
url = "http://rubygems.org/downloads/jquery-rails-2.0.3.gem";
|
||||
version = "2.0.3";
|
||||
}
|
||||
{
|
||||
name = "json";
|
||||
hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200";
|
||||
url = "http://rubygems.org/downloads/json-1.8.1.gem";
|
||||
version = "1.8.1";
|
||||
}
|
||||
{
|
||||
name = "mail";
|
||||
hash = "446585c38b062121252688dcc9cc70af1f470822e30db021bb97d185969e257c";
|
||||
url = "http://rubygems.org/downloads/mail-2.5.4.gem";
|
||||
version = "2.5.4";
|
||||
}
|
||||
{
|
||||
name = "metaclass";
|
||||
hash = "8569685c902108b1845be4e5794d646f2a8adcb0280d7651b600dab0844fe942";
|
||||
url = "http://rubygems.org/downloads/metaclass-0.0.4.gem";
|
||||
version = "0.0.4";
|
||||
}
|
||||
{
|
||||
name = "mime-types";
|
||||
hash = "88ef3c596481678710ffd4018fa40f1999b02d97babea39682ba7d5badd21f56";
|
||||
url = "http://rubygems.org/downloads/mime-types-1.25.1.gem";
|
||||
version = "1.25.1";
|
||||
}
|
||||
{
|
||||
name = "mini_portile";
|
||||
hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26";
|
||||
url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem";
|
||||
version = "0.6.0";
|
||||
}
|
||||
{
|
||||
name = "mocha";
|
||||
hash = "788fd93c8009a7e0eebd155509953e5987f4681902aad666a294283baa09899a";
|
||||
url = "http://rubygems.org/downloads/mocha-1.0.0.gem";
|
||||
version = "1.0.0";
|
||||
}
|
||||
{
|
||||
name = "multi_json";
|
||||
hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2";
|
||||
url = "http://rubygems.org/downloads/multi_json-1.10.1.gem";
|
||||
version = "1.10.1";
|
||||
}
|
||||
{
|
||||
name = "net-ldap";
|
||||
hash = "953551665fb0d398740a72a26314c6d34bd70fa35419c96dc58351f17d9a5081";
|
||||
url = "http://rubygems.org/downloads/net-ldap-0.3.1.gem";
|
||||
version = "0.3.1";
|
||||
}
|
||||
{
|
||||
name = "nokogiri";
|
||||
hash = "91761a654439406b5bed71adf6092d49829e26332b4c0e7c8a23a2e628442585";
|
||||
url = "http://rubygems.org/downloads/nokogiri-1.6.3.1.gem";
|
||||
version = "1.6.3.1";
|
||||
}
|
||||
{
|
||||
name = "pg";
|
||||
hash = "e7933e8f7f184c28e820ed85ddfb3ad8a13933b2b2ab8656aa8f81cb0aa610a6";
|
||||
url = "http://rubygems.org/downloads/pg-0.17.1.gem";
|
||||
version = "0.17.1";
|
||||
}
|
||||
{
|
||||
name = "polyglot";
|
||||
hash = "59d66ef5e3c166431c39cb8b7c1d02af419051352f27912f6a43981b3def16af";
|
||||
url = "http://rubygems.org/downloads/polyglot-0.3.5.gem";
|
||||
version = "0.3.5";
|
||||
}
|
||||
{
|
||||
name = "rack";
|
||||
hash = "f7bf3faa8e09a2ff26475372de36a724e7470d6bdc33d189a0ec34b49605f308";
|
||||
url = "http://rubygems.org/downloads/rack-1.4.5.gem";
|
||||
version = "1.4.5";
|
||||
}
|
||||
{
|
||||
name = "rack-cache";
|
||||
hash = "02bfed05f8b3266db804f2fa445801636ca2c6d211a3137ec796f88af5756e1c";
|
||||
url = "http://rubygems.org/downloads/rack-cache-1.2.gem";
|
||||
version = "1.2";
|
||||
}
|
||||
{
|
||||
name = "rack-openid";
|
||||
hash = "8cd2305e738463a7da98791f9ac4df4cf3f6ed27908d982350430694ac2fe869";
|
||||
url = "http://rubygems.org/downloads/rack-openid-1.4.2.gem";
|
||||
version = "1.4.2";
|
||||
}
|
||||
{
|
||||
name = "rack-ssl";
|
||||
hash = "d703764fa2a0d44a2163d6add65be89f5dba4477d1959b90d3727682a9c37dcf";
|
||||
url = "http://rubygems.org/downloads/rack-ssl-1.3.4.gem";
|
||||
version = "1.3.4";
|
||||
}
|
||||
{
|
||||
name = "rack-test";
|
||||
hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306";
|
||||
url = "http://rubygems.org/downloads/rack-test-0.6.2.gem";
|
||||
version = "0.6.2";
|
||||
}
|
||||
{
|
||||
name = "rails";
|
||||
hash = "33b64cf78dfcf3206d961ce03e8fe6d260081da696e60da39d0b2a4a160fe22b";
|
||||
url = "http://rubygems.org/downloads/rails-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "railties";
|
||||
hash = "c569009ee5c005190d208ac228087fdc094b10c6f0cf209f1d12c552b447cc10";
|
||||
url = "http://rubygems.org/downloads/railties-3.2.19.gem";
|
||||
version = "3.2.19";
|
||||
}
|
||||
{
|
||||
name = "rake";
|
||||
hash = "85e446590871dd3469c80dfe70a0296c20b76a9006af6b728c1f47d0b460412d";
|
||||
url = "http://rubygems.org/downloads/rake-10.1.1.gem";
|
||||
version = "10.1.1";
|
||||
}
|
||||
{
|
||||
name = "rdoc";
|
||||
hash = "a8e2b78f7e5ec4cc4716cd863975645f2f2377dc6db267a15e427e5fae2633ed";
|
||||
url = "http://rubygems.org/downloads/rdoc-3.12.2.gem";
|
||||
version = "3.12.2";
|
||||
}
|
||||
{
|
||||
name = "redcarpet";
|
||||
hash = "5c9bcc307fba97ff5a25eec74f08365c17e929d2a5c707db32d6fc99ec81f0b9";
|
||||
url = "http://rubygems.org/downloads/redcarpet-2.3.0.gem";
|
||||
version = "2.3.0";
|
||||
}
|
||||
{
|
||||
name = "rmagick";
|
||||
hash = "109f3b8be90afdea9abbdd2a79a955cd808b5cad65d937ed12676da22870d3b4";
|
||||
url = "http://rubygems.org/downloads/rmagick-2.13.3.gem";
|
||||
version = "2.13.3";
|
||||
}
|
||||
{
|
||||
name = "ruby-openid";
|
||||
hash = "f69ed004e95f7094e23bfd8bc9ebfb1dc88a7b46637252ca2907a1189870ea7b";
|
||||
url = "http://rubygems.org/downloads/ruby-openid-2.3.0.gem";
|
||||
version = "2.3.0";
|
||||
}
|
||||
{
|
||||
name = "rubyzip";
|
||||
hash = "a996435ee9698be6a09d3748f4d23ee15aaf45cbfef1749def165af6ea3c0a9e";
|
||||
url = "http://rubygems.org/downloads/rubyzip-1.1.6.gem";
|
||||
version = "1.1.6";
|
||||
}
|
||||
{
|
||||
name = "selenium-webdriver";
|
||||
hash = "09fe4374d1541cb45403ad1238c2d88129f3afb985218635af087a06c99a521a";
|
||||
url = "http://rubygems.org/downloads/selenium-webdriver-2.43.0.gem";
|
||||
version = "2.43.0";
|
||||
}
|
||||
{
|
||||
name = "shoulda";
|
||||
hash = "52e70b71cbfb7c01dace14e268a62d86c21ddd1e5ec0116c8b1e632d8e04e412";
|
||||
url = "http://rubygems.org/downloads/shoulda-3.3.2.gem";
|
||||
version = "3.3.2";
|
||||
}
|
||||
{
|
||||
name = "shoulda-context";
|
||||
hash = "ee5559aa13248c70fdec6868a3c144adf7438c904c59d1a76b04a002e5151de5";
|
||||
url = "http://rubygems.org/downloads/shoulda-context-1.0.2.gem";
|
||||
version = "1.0.2";
|
||||
}
|
||||
{
|
||||
name = "shoulda-matchers";
|
||||
hash = "c35693cbfa84213212dffbc2c87487427ef364927340151329a842f0a06086b9";
|
||||
url = "http://rubygems.org/downloads/shoulda-matchers-1.4.1.gem";
|
||||
version = "1.4.1";
|
||||
}
|
||||
{
|
||||
name = "sprockets";
|
||||
hash = "fae893b7e86e83c1936f6f2a64db3550510f86eabdd5fa9f0f23fb25d7e0cf96";
|
||||
url = "http://rubygems.org/downloads/sprockets-2.2.2.gem";
|
||||
version = "2.2.2";
|
||||
}
|
||||
{
|
||||
name = "thor";
|
||||
hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522";
|
||||
url = "http://rubygems.org/downloads/thor-0.19.1.gem";
|
||||
version = "0.19.1";
|
||||
}
|
||||
{
|
||||
name = "tilt";
|
||||
hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903";
|
||||
url = "http://rubygems.org/downloads/tilt-1.4.1.gem";
|
||||
version = "1.4.1";
|
||||
}
|
||||
{
|
||||
name = "treetop";
|
||||
hash = "ffa68f201c0f62c26b0a1d13233d73194400596964696843f87ebb5d812f12ff";
|
||||
url = "http://rubygems.org/downloads/treetop-1.4.15.gem";
|
||||
version = "1.4.15";
|
||||
}
|
||||
{
|
||||
name = "tzinfo";
|
||||
hash = "381b22fd1744a35d0a0239f563f505773681e626e6d900063b14cb9b1b68e98c";
|
||||
url = "http://rubygems.org/downloads/tzinfo-0.3.41.gem";
|
||||
version = "0.3.41";
|
||||
}
|
||||
{
|
||||
name = "websocket";
|
||||
hash = "e626c8c3e8593735d900265fb1fc3439fd06b394069860177d8f40733b12ae9e";
|
||||
url = "http://rubygems.org/downloads/websocket-1.2.1.gem";
|
||||
version = "1.2.1";
|
||||
}
|
||||
{
|
||||
name = "xpath";
|
||||
hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12";
|
||||
url = "http://rubygems.org/downloads/xpath-2.0.0.gem";
|
||||
version = "2.0.0";
|
||||
}
|
||||
{
|
||||
name = "yard";
|
||||
hash = "e65a26f9b9dc6e2aa9b1d1d2e1a45bee3edf540a6a7e6c30fa6aa1df7f7a29b4";
|
||||
url = "http://rubygems.org/downloads/yard-0.8.7.4.gem";
|
||||
version = "0.8.7.4";
|
||||
}
|
||||
]
|
6
pkgs/applications/version-management/redmine/README
Normal file
6
pkgs/applications/version-management/redmine/README
Normal file
@ -0,0 +1,6 @@
|
||||
to regenerate Gemfile.nix and Gemfile.lock you need to
|
||||
|
||||
% nix-build bootstrap.nix
|
||||
% cp result/Gemfile.nix ./
|
||||
% cp result/Gemfile.lock ./
|
||||
|
45
pkgs/applications/version-management/redmine/bootstrap.nix
Normal file
45
pkgs/applications/version-management/redmine/bootstrap.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{ pkgs ? import <nixpkgs> {}
|
||||
}:
|
||||
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "2.5.2";
|
||||
name = "redmine-${version}";
|
||||
__noChroot = true;
|
||||
src = fetchurl {
|
||||
url = "http://www.redmine.org/releases/${name}.tar.gz";
|
||||
sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
|
||||
};
|
||||
buildInputs = [
|
||||
ruby rubyLibs.bundler libiconv libxslt libxml2 pkgconfig
|
||||
libffi imagemagickBig postgresql which stdenv
|
||||
];
|
||||
installPhase = ''
|
||||
unset http_proxy
|
||||
unset ftp_proxy
|
||||
|
||||
cp -R . $out
|
||||
cp ${./generate_nix_requirements.rb} $out/generate_nix_requirements.rb
|
||||
cd $out
|
||||
|
||||
cat > config/database.yml <<EOF
|
||||
production:
|
||||
adapter: postgresql
|
||||
EOF
|
||||
|
||||
bundle config --local build.nokogiri --use-system-libraries \
|
||||
--with-iconv-dir=${libiconv} \
|
||||
--with-xslt-dir=${libxslt} \
|
||||
--with-xml2-dir=${libxml2} \
|
||||
--with-pkg-config \
|
||||
--with-pg-config=${postgresql}/bin/pg_config
|
||||
|
||||
bundle install --verbose --without development test rmagick --path /tmp/redmine-${version}
|
||||
|
||||
HOME="/tmp/redmine-${version}" ruby generate_nix_requirements.rb
|
||||
rm -R /tmp/gems
|
||||
'';
|
||||
}
|
73
pkgs/applications/version-management/redmine/default.nix
Normal file
73
pkgs/applications/version-management/redmine/default.nix
Normal file
@ -0,0 +1,73 @@
|
||||
{ stdenv, fetchurl, ruby, rubyLibs, libiconv, libxslt, libxml2, pkgconfig, libffi, imagemagickBig, postgresql }:
|
||||
|
||||
let
|
||||
gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix);
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "2.5.2";
|
||||
name = "redmine-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.redmine.org/releases/${name}.tar.gz";
|
||||
sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
|
||||
};
|
||||
|
||||
# taken from redmine (2.5.1-2~bpo70+3) in debian wheezy-backports
|
||||
# needed to separate run-time and build-time directories
|
||||
patches = [
|
||||
./2002_FHS_through_env_vars.patch
|
||||
./2004_FHS_plugins_assets.patch
|
||||
./2003_externalize_session_config.patch
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins')" "ENV['RAILS_PLUGINS']"
|
||||
substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins', id.to_s, 'db', 'migrate')" "File.join(ENV['RAILS_PLUGINS'], id.to_s, 'db', 'migrate')"
|
||||
substituteInPlace config/routes.rb --replace '"plugins/*", Rails.root' 'ENV["RAILS_PLUGINS"] + "/*"'
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
ruby rubyLibs.bundler libiconv libxslt libxml2 pkgconfig libffi
|
||||
imagemagickBig postgresql
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/redmine/
|
||||
cp -R . $out/share/redmine/
|
||||
cd $out/share/redmine
|
||||
ln -s ${./Gemfile.lock} Gemfile.lock
|
||||
export HOME=$(pwd)
|
||||
|
||||
cat > config/database.yml <<EOF
|
||||
production:
|
||||
adapter: postgresql
|
||||
EOF
|
||||
|
||||
mkdir -p vendor/cache
|
||||
${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)}
|
||||
|
||||
bundle config build.nokogiri \
|
||||
--use-system-libraries \
|
||||
--with-iconv-dir=${libiconv} \
|
||||
--with-xslt-dir=${libxslt} \
|
||||
--with-xml2-dir=${libxml2} \
|
||||
--with-pkg-config \
|
||||
--with-pg-config=${postgresql}/bin/pg_config
|
||||
|
||||
bundle install --verbose --local --deployment
|
||||
|
||||
# make sure we always load pg package
|
||||
echo "gem \"pg\"" >> Gemfile
|
||||
|
||||
# make rails server happy
|
||||
mkdir -p tmp/pids
|
||||
|
||||
# cleanup
|
||||
rm config/database.yml
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.redmine.org/;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.garbas ];
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
require 'rubygems'
|
||||
require 'bundler'
|
||||
require 'fileutils'
|
||||
require 'net/http'
|
||||
require 'net/https'
|
||||
require 'uri'
|
||||
|
||||
TMP_DIR = "/tmp/gems"
|
||||
|
||||
FileUtils.rm_rf(TMP_DIR) if File.exists?(TMP_DIR)
|
||||
FileUtils.mkdir TMP_DIR
|
||||
|
||||
GEMSERVER = "http://rubygems.org"
|
||||
|
||||
# inspect Gemfile.lock
|
||||
lockfile = Bundler::LockfileParser.new(Bundler.read_file("Gemfile.lock"))
|
||||
|
||||
to_mirror = {}
|
||||
|
||||
uri = URI(GEMSERVER)
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
http.use_ssl = uri.scheme == 'https'
|
||||
|
||||
requirements = {}
|
||||
|
||||
lockfile.specs.each do |s|
|
||||
possible_gem_name = "#{s.name}-#{s.version.to_s}.gem"
|
||||
|
||||
Dir.chdir TMP_DIR do
|
||||
filename = `gem fetch #{s.name} -v #{s.version.to_s}`.split()[1]
|
||||
hash = `sha256sum #{filename}.gem`
|
||||
url = "#{GEMSERVER}/downloads/#{filename}.gem"
|
||||
puts url
|
||||
requirements[s.name] = { :version => s.version.to_s,
|
||||
:hash => hash.split().first,
|
||||
:url => url,}
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
filename = 'Gemfile.nix'
|
||||
|
||||
File.open(filename, 'w') do |file|
|
||||
file.puts "["
|
||||
requirements.each do |name, info|
|
||||
file.puts "{"
|
||||
file.puts ['name = ', '"', name, '";'].join('')
|
||||
file.puts ['hash = ', '"', info[:hash], '";'].join('')
|
||||
file.puts ['url = ', '"', info[:url], '";'].join('')
|
||||
file.puts ['version = ', '"', info[:version], '";'].join('')
|
||||
file.puts "}"
|
||||
end
|
||||
file.puts "]"
|
||||
end
|
@ -6,11 +6,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kdenlive-${version}";
|
||||
version = "0.9.8";
|
||||
version = "0.9.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/kdenlive/${version}/src/${name}.tar.bz2";
|
||||
sha256 = "17x5srgywcwlbpbs598jwwc62l8313n4dbqx3sdk7p6lyvwk3jln";
|
||||
sha256 = "0qxpxnfbr8g6xq0h32skgqqi2xylrv2bnmyx5x1cws9y2wwxp3zn";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -3,8 +3,13 @@
|
||||
, taglib, pysqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
|
||||
, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
|
||||
, gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
|
||||
, enableBonjour ? false, avahi ? null
|
||||
}:
|
||||
|
||||
assert enableBonjour -> avahi != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "miro-${version}";
|
||||
namePrefix = "";
|
||||
@ -37,6 +42,9 @@ buildPythonPackage rec {
|
||||
c RESOURCE_ROOT = '"'$out/share/miro/resources/'"'
|
||||
}' \
|
||||
plat/resources.py
|
||||
'' + optionalString enableBonjour ''
|
||||
sed -i -e 's|ctypes.cdll.LoadLibrary( *|ctypes.CDLL("${avahi}/lib/" +|' \
|
||||
../lib/libdaap/pybonjour.py
|
||||
'';
|
||||
|
||||
# Disabled for now, because it requires networking and even if we skip those
|
||||
@ -69,13 +77,13 @@ buildPythonPackage rec {
|
||||
pygobject pygtk pycurl python.modules.sqlite3 mutagen pycairo pythonDBus
|
||||
pywebkitgtk libtorrentRasterbar
|
||||
gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
|
||||
];
|
||||
] ++ optional enableBonjour avahi;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.getmiro.com/";
|
||||
description = "Video and audio feed aggregator";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.aszlig ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.aszlig ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
11
pkgs/applications/video/smplayer/basegui.cpp.patch
Normal file
11
pkgs/applications/video/smplayer/basegui.cpp.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/basegui.cpp 2014-08-20 01:04:51.000000000 +0100
|
||||
+++ b/src/basegui.cpp 2014-10-11 10:25:57.561983556 +0100
|
||||
@@ -5235,7 +5235,7 @@
|
||||
#ifdef YOUTUBE_SUPPORT
|
||||
void BaseGui::showTubeBrowser() {
|
||||
qDebug("BaseGui::showTubeBrowser");
|
||||
- QString exec = Paths::appPath() + "/smtube";
|
||||
+ QString exec = "smtube";
|
||||
qDebug("BaseGui::showTubeBrowser: '%s'", exec.toUtf8().constData());
|
||||
if (!QProcess::startDetached(exec, QStringList())) {
|
||||
QMessageBox::warning(this, "SMPlayer",
|
@ -1,13 +1,15 @@
|
||||
{ stdenv, fetchurl, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "smplayer-14.3.0";
|
||||
name = "smplayer-14.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
||||
sha256 = "9b8db20043d1528ee5c6054526779e88a172d2c757429bd7095c794d65ecbc18";
|
||||
sha256 = "04yzgmdj9hm9v7ln49zm2aa1r9mm9q12pym4bvfww7yzsvnx96j2";
|
||||
};
|
||||
|
||||
patches = [ ./basegui.cpp.patch ];
|
||||
|
||||
buildInputs = [ qt4 ];
|
||||
|
||||
preConfigure = ''
|
||||
|
23
pkgs/applications/video/smtube/default.nix
Normal file
23
pkgs/applications/video/smtube/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{stdenv, fetchurl, qt4}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "smtube-14.8.0";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/smplayer/smtube-14.8.0.tar.bz2;
|
||||
sha256 = "0h0kw4dvdj9sbxp0p6bdib9y8i7854f45lsmrdkykzk6rmgrf1cw";
|
||||
};
|
||||
|
||||
buildInputs = [qt4];
|
||||
|
||||
preConfigure = ''
|
||||
makeFlags="PREFIX=$out"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Play and download Youtube videos";
|
||||
homepage = http://smplayer.sourceforge.net/smtube.php;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ vbgl ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user