Merge branch 'master' into staging

Hydra nixpkgs: ?compare=1287298
This commit is contained in:
Vladimír Čunát 2016-08-14 12:02:12 +02:00
commit 4fbb37c517
314 changed files with 6648 additions and 3713 deletions

View File

@ -11,10 +11,10 @@ matrix:
dist: trusty dist: trusty
before_script: before_script:
- sudo mount -o remount,exec,size=2G,mode=755 /run/user - sudo mount -o remount,exec,size=2G,mode=755 /run/user
script: ./maintainers/scripts/travis-nox-review-pr.sh pr script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
- os: osx - os: osx
osx_image: xcode7.3 osx_image: xcode7.3
script: ./maintainers/scripts/travis-nox-review-pr.sh pr script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
git: git:
depth: 1 depth: 1
env: env:

View File

@ -86,13 +86,6 @@ the following arguments are of special significance to the function:
"rev": "a83829b6f1293c91addabc89d0571c246397bbf4", "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
"sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh" "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
} }
},
{
"include": "../../libs.json", <co xml:id='ex-goDeps-4' />
"packages": [ <co xml:id='ex-goDeps-5' />
"github.com/docopt/docopt-go",
"golang.org/x/crypto",
]
} }
] ]
</programlisting> </programlisting>
@ -122,20 +115,6 @@ the following arguments are of special significance to the function:
</para> </para>
</callout> </callout>
<callout arearefs='ex-goDeps-4'>
<para>
<varname>include</varname> could be used to reuse <varname>goDeps</varname> between Go programs.
There is a common libs set in <varname>&lt;nixpkgs/pkgs/development/go-modules/libs.json&gt;</varname>
with pinned versions of many packages that you can reuse.
</para>
</callout>
<callout arearefs='ex-goDeps-5'>
<para>
<varname>packages</varname> enumerates all Go packages that will be imported from included file.
</para>
</callout>
</calloutlist> </calloutlist>
</para> </para>

View File

@ -748,6 +748,23 @@ in newpkgs.python35.withPackages (ps: [ps.blaze])
``` ```
The requested package `blaze` depends upon `pandas` which itself depends on `scipy`. The requested package `blaze` depends upon `pandas` which itself depends on `scipy`.
### `python setup.py bdist_wheel` cannot create .whl
Executing `python setup.py bdist_wheel` fails with
```
ValueError: ZIP does not support timestamps before 1980
```
This is because files are included that depend on items in the Nix store which have a timestamp of, that is, it corresponds to January the 1st, 1970 at 00:00:00. And as the error informs you, ZIP does not support that.
Fortunately `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`. On Nix this value is set to 1. By setting it to a value correspond to 1980 or later it is possible to build wheels.
Use 1980 as timestamp:
```
SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel
```
or the current time:
```
SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel
```
### `install_data` / `data_files` problems ### `install_data` / `data_files` problems

View File

@ -200,6 +200,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
url = https://geant4.web.cern.ch/geant4/license/LICENSE.html; url = https://geant4.web.cern.ch/geant4/license/LICENSE.html;
}; };
geogebra = {
fullName = "GeoGebra Non-Commercial License Agreement";
url = https://www.geogebra.org/license;
free = false;
};
gpl1 = spdx { gpl1 = spdx {
spdxId = "GPL-1.0"; spdxId = "GPL-1.0";
fullName = "GNU General Public License v1.0 only"; fullName = "GNU General Public License v1.0 only";

View File

@ -89,7 +89,7 @@ rec {
*/ */
flatten = x: flatten = x:
if isList x if isList x
then foldl' (x: y: x ++ (flatten y)) [] x then concatMap (y: flatten y) x
else [x]; else [x];
/* Remove elements equal to 'e' from a list. Useful for buildInputs. /* Remove elements equal to 'e' from a list. Useful for buildInputs.

View File

@ -58,7 +58,7 @@ rec {
else if lib.pathExists packedRefsName else if lib.pathExists packedRefsName
then then
let fileContent = readFile packedRefsName; let fileContent = readFile packedRefsName;
matchRef = match ".*\n([^\n ]*) " + file + "\n.*" fileContent; matchRef = match (".*\n([^\n ]*) " + file + "\n.*") fileContent;
in if isNull matchRef in if isNull matchRef
then throw ("Could not find " + file + " in " + packedRefsName) then throw ("Could not find " + file + " in " + packedRefsName)
else lib.head matchRef else lib.head matchRef

View File

@ -156,12 +156,12 @@ rec {
hasSuffix "foo" "barfoo" hasSuffix "foo" "barfoo"
=> true => true
*/ */
hasSuffix = suff: str: hasSuffix = suffix: content:
let let
lenStr = stringLength str; lenContent = stringLength content;
lenSuff = stringLength suff; lenSuffix = stringLength suffix;
in lenStr >= lenSuff && in lenContent >= lenSuffix &&
substring (lenStr - lenSuff) lenStr str == suff; substring (lenContent - lenSuffix) lenContent content == suffix;
/* Convert a string to a list of characters (i.e. singleton strings). /* Convert a string to a list of characters (i.e. singleton strings).
This allows you to, e.g., map a function over each character. However, This allows you to, e.g., map a function over each character. However,
@ -248,7 +248,7 @@ rec {
/* Converts an ASCII string to upper-case. /* Converts an ASCII string to upper-case.
Example: Example:
toLower "home" toUpper "home"
=> "HOME" => "HOME"
*/ */
toUpper = replaceChars lowerChars upperChars; toUpper = replaceChars lowerChars upperChars;
@ -372,7 +372,12 @@ rec {
getVersion pkgs.youtube-dl getVersion pkgs.youtube-dl
=> "2016.01.01" => "2016.01.01"
*/ */
getVersion = x: (builtins.parseDrvName (x.name or x)).version; getVersion = x:
let
parse = drv: (builtins.parseDrvName drv).version;
in if isString x
then parse x
else x.version or (parse x.name);
/* Extract name with version from URL. Ask for separator which is /* Extract name with version from URL. Ask for separator which is
supposed to start extension. supposed to start extension.

View File

@ -71,7 +71,7 @@ rec {
+ (if pathExists suffixFile then fileContents suffixFile else "pre-git"); + (if pathExists suffixFile then fileContents suffixFile else "pre-git");
# Whether we're being called by nix-shell. # Whether we're being called by nix-shell.
inNixShell = builtins.getEnv "IN_NIX_SHELL" == "1"; inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
# Return minimum/maximum of two numbers. # Return minimum/maximum of two numbers.
min = x: y: if x < y then x else y; min = x: y: if x < y then x else y;

View File

@ -44,6 +44,13 @@ while test -n "$1"; do
nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR" nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR"
;; ;;
nox)
echo "=== Fetching Nox from binary cache"
# build nox silently so it's not in the log
nix-build "<nixpkgs>" -A nox
;;
pr) pr)
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
echo "=== No pull request found" echo "=== No pull request found"
@ -55,7 +62,7 @@ while test -n "$1"; do
token="--token $GITHUB_TOKEN" token="--token $GITHUB_TOKEN"
fi fi
nix-shell --packages nox git --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST" nix-shell --packages nox --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
fi fi
;; ;;

View File

@ -51,6 +51,13 @@ following incompatible changes:</para>
gitlab-run and gitlab-rake scripts because gitlab-runner is a component of Gitlab CI.</para> gitlab-run and gitlab-rake scripts because gitlab-runner is a component of Gitlab CI.</para>
</listitem> </listitem>
<listitem>
<para><literal>services.xserver.libinput.accelProfile</literal> default
changed from <literal>flat</literal> to <literal>adaptive</literal>,
as per <link xlink:href="https://wayland.freedesktop.org/libinput/doc/latest/group__config.html#gad63796972347f318b180e322e35cee79">
official documentation</link>.</para>
</listitem>
</itemizedlist> </itemizedlist>

View File

@ -34,7 +34,6 @@ let
config.programs.ssh.package config.programs.ssh.package
pkgs.perl pkgs.perl
pkgs.procps pkgs.procps
pkgs.rsync
pkgs.strace pkgs.strace
pkgs.su pkgs.su
pkgs.time pkgs.time

View File

@ -88,6 +88,8 @@ i18n.inputMethod = {
methods among Traditional Chinese Unix users.</para></listitem> methods among Traditional Chinese Unix users.</para></listitem>
<listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input <listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input
method.</para></listitem> method.</para></listitem>
<listitem><para>Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese input
method.</para></listitem>
<listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input <listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input
method that uses input methods and corresponding icons in the m17n method that uses input methods and corresponding icons in the m17n
database.</para></listitem> database.</para></listitem>

View File

@ -17,6 +17,6 @@ getVersion() {
if nixpkgs=$(nix-instantiate --find-file nixpkgs "$@"); then if nixpkgs=$(nix-instantiate --find-file nixpkgs "$@"); then
getVersion $nixpkgs getVersion $nixpkgs
if [ -n "$rev" ]; then if [ -n "$rev" ]; then
echo "$rev" echo ".git.$rev"
fi fi
fi fi

View File

@ -175,7 +175,7 @@ if ! NIX_DB_DIR=$mountPoint/nix/var/nix/db nix-store --check-validity @nix@ 2> /
for i in $(@perl@/bin/perl @pathsFromGraph@ @nixClosure@); do for i in $(@perl@/bin/perl @pathsFromGraph@ @nixClosure@); do
echo " $i" echo " $i"
chattr -R -i $mountPoint/$i 2> /dev/null || true # clear immutable bit chattr -R -i $mountPoint/$i 2> /dev/null || true # clear immutable bit
rsync -a $i $mountPoint/nix/store/ @rsync@/bin/rsync -a $i $mountPoint/nix/store/
done done
# Register the paths in the Nix closure as valid. This is necessary # Register the paths in the Nix closure as valid. This is necessary

View File

@ -214,9 +214,9 @@ fi
# Re-execute nixos-rebuild from the Nixpkgs tree. # Re-execute nixos-rebuild from the Nixpkgs tree.
if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" ]; then if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" ]; then
if p=$(nix-instantiate --find-file nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh "${extraBuildFlags[@]}"); then if p=$(nix-build --no-out-link --expr 'with import <nixpkgs/nixos> {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then
export _NIXOS_REBUILD_REEXEC=1 export _NIXOS_REBUILD_REEXEC=1
exec $SHELL -e $p "${origArgs[@]}" exec $p/bin/nixos-rebuild "${origArgs[@]}"
exit 1 exit 1
fi fi
fi fi
@ -311,10 +311,9 @@ fi
# nixos-version shows something useful). # nixos-version shows something useful).
if [ -n "$canRun" ]; then if [ -n "$canRun" ]; then
if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then
revision=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-git-revision "${extraBuildFlags[@]}" || true) suffix=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true)
if [ -n "$revision" ]; then if [ -n "$suffix" ]; then
echo -n ".git.$revision" > "$nixpkgs/.version-suffix" || true echo -n "$suffix" > "$nixpkgs/.version-suffix" || true
echo -n "$revision" > "$nixpkgs/.git-revision" || true
fi fi
fi fi
fi fi

View File

@ -21,7 +21,7 @@ let
name = "nixos-install"; name = "nixos-install";
src = ./nixos-install.sh; src = ./nixos-install.sh;
inherit (pkgs) perl pathsFromGraph; inherit (pkgs) perl pathsFromGraph rsync;
nix = config.nix.package.out; nix = config.nix.package.out;
cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";

View File

@ -63,7 +63,9 @@ in
nixosRevision = mkOption { nixosRevision = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
default = if pathExists revisionFile then fileContents revisionFile else "master"; default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
else if pathExists revisionFile then fileContents revisionFile
else "master";
description = "The Git revision from which this NixOS configuration was built."; description = "The Git revision from which this NixOS configuration was built.";
}; };

View File

@ -62,8 +62,7 @@
./programs/bash/bash.nix ./programs/bash/bash.nix
./programs/blcr.nix ./programs/blcr.nix
./programs/cdemu.nix ./programs/cdemu.nix
# see https://github.com/NixOS/nixos-channel-scripts/issues/4 ./programs/command-not-found/command-not-found.nix
#./programs/command-not-found/command-not-found.nix
./programs/dconf.nix ./programs/dconf.nix
./programs/environment.nix ./programs/environment.nix
./programs/freetds.nix ./programs/freetds.nix
@ -80,7 +79,6 @@
./programs/ssh.nix ./programs/ssh.nix
./programs/ssmtp.nix ./programs/ssmtp.nix
./programs/tmux.nix ./programs/tmux.nix
./programs/unity3d.nix
./programs/venus.nix ./programs/venus.nix
./programs/wvdial.nix ./programs/wvdial.nix
./programs/xfs_quota.nix ./programs/xfs_quota.nix
@ -476,7 +474,7 @@
./services/web-servers/lighttpd/gitweb.nix ./services/web-servers/lighttpd/gitweb.nix
./services/web-servers/lighttpd/inginious.nix ./services/web-servers/lighttpd/inginious.nix
./services/web-servers/nginx/default.nix ./services/web-servers/nginx/default.nix
./services/web-servers/phpfpm.nix ./services/web-servers/phpfpm/default.nix
./services/web-servers/shellinabox.nix ./services/web-servers/shellinabox.nix
./services/web-servers/tomcat.nix ./services/web-servers/tomcat.nix
./services/web-servers/uwsgi.nix ./services/web-servers/uwsgi.nix

View File

@ -1,25 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.programs.unity3d;
in {
options = {
programs.unity3d.enable = mkEnableOption "Unity3D, a game development tool";
};
config = mkIf cfg.enable {
security.setuidOwners = [{
program = "unity-chrome-sandbox";
source = "${pkgs.unity3d.sandbox}/bin/unity-chrome-sandbox";
owner = "root";
#group = "root";
setuid = true;
#setgid = true;
}];
environment.systemPackages = [ pkgs.unity3d ];
};
}

View File

@ -134,6 +134,9 @@ with lib;
(mkRemovedOptionModule [ "security" "grsecurity" "config" "verboseVersion" ]) (mkRemovedOptionModule [ "security" "grsecurity" "config" "verboseVersion" ])
(mkRemovedOptionModule [ "security" "grsecurity" "config" "kernelExtraConfig" ]) (mkRemovedOptionModule [ "security" "grsecurity" "config" "kernelExtraConfig" ])
# Unity3D
(mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
# Options that are obsolete and have no replacement. # Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ]) (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ])
(mkRemovedOptionModule [ "programs" "bash" "enable" ]) (mkRemovedOptionModule [ "programs" "bash" "enable" ])

View File

@ -7,19 +7,23 @@ let
sandbox = pkgs.chromium.sandbox; sandbox = pkgs.chromium.sandbox;
in in
{ {
options.security.chromiumSuidSandbox.enable = mkEnableOption '' options.security.chromiumSuidSandbox.enable = mkOption {
Whether to install the Chromium SUID sandbox which is an executable that type = types.bool;
Chromium may use in order to achieve sandboxing. default = false;
description = ''
Whether to install the Chromium SUID sandbox which is an executable that
Chromium may use in order to achieve sandboxing.
If you get the error "The SUID sandbox helper binary was found, but is not If you get the error "The SUID sandbox helper binary was found, but is not
configured correctly.", turning this on might help. configured correctly.", turning this on might help.
Also, if the URL chrome://sandbox tells you that "You are not adequately Also, if the URL chrome://sandbox tells you that "You are not adequately
sandboxed!", turning this on might resolve the issue. sandboxed!", turning this on might resolve the issue.
Finally, if you have <option>security.grsecurity</option> enabled and you Finally, if you have <option>security.grsecurity</option> enabled and you
use Chromium, you probably need this. use Chromium, you probably need this.
''; '';
};
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ sandbox ]; environment.systemPackages = [ sandbox ];

View File

@ -36,7 +36,7 @@ in {
}; };
packages = mkOption { packages = mkOption {
default = [ pkgs.stdenv pkgs.jre config.programs.ssh.package pkgs.nix ]; default = [ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ];
type = types.listOf types.package; type = types.listOf types.package;
description = '' description = ''
Packages to add to PATH for the Go.CD agent process. Packages to add to PATH for the Go.CD agent process.
@ -57,18 +57,10 @@ in {
}; };
goServer = mkOption { goServer = mkOption {
default = "127.0.0.1"; default = "https://127.0.0.1:8154/go";
type = types.str; type = types.str;
description = '' description = ''
Address of GoCD Server to attach the Go.CD Agent to. URL of the GoCD Server to attach the Go.CD Agent to.
'';
};
goServerPort = mkOption {
default = 8153;
type = types.int;
description = ''
Port that Go.CD Server is Listening on.
''; '';
}; };
@ -80,26 +72,26 @@ in {
''; '';
}; };
heapSize = mkOption { initialJavaHeapSize = mkOption {
default = "128m"; default = "128m";
type = types.str; type = types.str;
description = '' description = ''
Specifies the java heap memory size for the Go.CD agent java process. Specifies the initial java heap memory size for the Go.CD agent java process.
''; '';
}; };
maxMemory = mkOption { maxJavaHeapMemory = mkOption {
default = "256m"; default = "256m";
type = types.str; type = types.str;
description = '' description = ''
Specifies the java maximum memory size for the Go.CD agent java process. Specifies the java maximum heap memory size for the Go.CD agent java process.
''; '';
}; };
startupOptions = mkOption { startupOptions = mkOption {
default = [ default = [
"-Xms${cfg.heapSize}" "-Xms${cfg.initialJavaHeapSize}"
"-Xmx${cfg.maxMemory}" "-Xmx${cfg.maxJavaHeapMemory}"
"-Djava.io.tmpdir=/tmp" "-Djava.io.tmpdir=/tmp"
"-Dcruise.console.publish.interval=10" "-Dcruise.console.publish.interval=10"
"-Djava.security.egd=file:/dev/./urandom" "-Djava.security.egd=file:/dev/./urandom"
@ -112,8 +104,8 @@ in {
extraOptions = mkOption { extraOptions = mkOption {
default = [ ]; default = [ ];
example = [ example = [
"-X debug" "-X debug"
"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006" "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006"
"-verbose:gc" "-verbose:gc"
"-Xloggc:go-agent-gc.log" "-Xloggc:go-agent-gc.log"
@ -170,7 +162,7 @@ in {
config.environment.sessionVariables; config.environment.sessionVariables;
in in
selectedSessionVars // selectedSessionVars //
{ {
NIX_REMOTE = "daemon"; NIX_REMOTE = "daemon";
AGENT_WORK_DIR = cfg.workDir; AGENT_WORK_DIR = cfg.workDir;
AGENT_STARTUP_ARGS = ''${concatStringsSep " " cfg.startupOptions}''; AGENT_STARTUP_ARGS = ''${concatStringsSep " " cfg.startupOptions}'';
@ -199,13 +191,14 @@ in {
${pkgs.jre}/bin/java ${concatStringsSep " " cfg.startupOptions} \ ${pkgs.jre}/bin/java ${concatStringsSep " " cfg.startupOptions} \
${concatStringsSep " " cfg.extraOptions} \ ${concatStringsSep " " cfg.extraOptions} \
-jar ${pkgs.gocd-agent}/go-agent/agent-bootstrapper.jar \ -jar ${pkgs.gocd-agent}/go-agent/agent-bootstrapper.jar \
${cfg.goServer} \ -serverUrl ${cfg.goServer}
${toString cfg.goServerPort}
''; '';
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;
WorkingDirectory = cfg.workDir; WorkingDirectory = cfg.workDir;
RestartSec = 30;
Restart = "on-failure";
}; };
}; };
}; };

View File

@ -0,0 +1,449 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.cassandra;
cassandraPackage = cfg.package.override {
jre = cfg.jre;
};
cassandraUser = {
name = cfg.user;
home = "/var/lib/cassandra";
description = "Cassandra role user";
};
cassandraRackDcProperties = ''
dc=${cfg.dc}
rack=${cfg.rack}
'';
cassandraConf = ''
cluster_name: ${cfg.clusterName}
num_tokens: 256
auto_bootstrap: ${if cfg.autoBootstrap then "true" else "false"}
hinted_handoff_enabled: ${if cfg.hintedHandOff then "true" else "false"}
hinted_handoff_throttle_in_kb: ${builtins.toString cfg.hintedHandOffThrottle}
max_hints_delivery_threads: 2
max_hint_window_in_ms: 10800000 # 3 hours
authenticator: ${cfg.authenticator}
authorizer: ${cfg.authorizer}
permissions_validity_in_ms: 2000
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
data_file_directories:
${builtins.concatStringsSep "\n" (map (v: " - "+v) cfg.dataDirs)}
commitlog_directory: ${cfg.commitLogDirectory}
disk_failure_policy: stop
key_cache_size_in_mb:
key_cache_save_period: 14400
row_cache_size_in_mb: 0
row_cache_save_period: 0
saved_caches_directory: ${cfg.savedCachesDirectory}
commitlog_sync: ${cfg.commitLogSync}
commitlog_sync_period_in_ms: ${builtins.toString cfg.commitLogSyncPeriod}
commitlog_segment_size_in_mb: 32
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "${builtins.concatStringsSep "," cfg.seeds}"
concurrent_reads: ${builtins.toString cfg.concurrentReads}
concurrent_writes: ${builtins.toString cfg.concurrentWrites}
memtable_flush_queue_size: 4
trickle_fsync: false
trickle_fsync_interval_in_kb: 10240
storage_port: 7000
ssl_storage_port: 7001
listen_address: ${cfg.listenAddress}
start_native_transport: true
native_transport_port: 9042
start_rpc: true
rpc_address: ${cfg.rpcAddress}
rpc_port: 9160
rpc_keepalive: true
rpc_server_type: sync
thrift_framed_transport_size_in_mb: 15
incremental_backups: ${if cfg.incrementalBackups then "true" else "false"}
snapshot_before_compaction: false
auto_snapshot: true
column_index_size_in_kb: 64
in_memory_compaction_limit_in_mb: 64
multithreaded_compaction: false
compaction_throughput_mb_per_sec: 16
compaction_preheat_key_cache: true
read_request_timeout_in_ms: 10000
range_request_timeout_in_ms: 10000
write_request_timeout_in_ms: 10000
cas_contention_timeout_in_ms: 1000
truncate_request_timeout_in_ms: 60000
request_timeout_in_ms: 10000
cross_node_timeout: false
endpoint_snitch: ${cfg.snitch}
dynamic_snitch_update_interval_in_ms: 100
dynamic_snitch_reset_interval_in_ms: 600000
dynamic_snitch_badness_threshold: 0.1
request_scheduler: org.apache.cassandra.scheduler.NoScheduler
server_encryption_options:
internode_encryption: ${cfg.internodeEncryption}
keystore: ${cfg.keyStorePath}
keystore_password: ${cfg.keyStorePassword}
truststore: ${cfg.trustStorePath}
truststore_password: ${cfg.trustStorePassword}
client_encryption_options:
enabled: ${if cfg.clientEncryption then "true" else "false"}
keystore: ${cfg.keyStorePath}
keystore_password: ${cfg.keyStorePassword}
internode_compression: all
inter_dc_tcp_nodelay: false
preheat_kernel_page_cache: false
streaming_socket_timeout_in_ms: ${toString cfg.streamingSocketTimoutInMS}
'';
cassandraLog = ''
log4j.rootLogger=${cfg.logLevel},stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] %d{HH:mm:ss,SSS} %m%n
'';
cassandraConfFile = pkgs.writeText "cassandra.yaml" cassandraConf;
cassandraLogFile = pkgs.writeText "log4j-server.properties" cassandraLog;
cassandraRackFile = pkgs.writeText "cassandra-rackdc.properties" cassandraRackDcProperties;
cassandraEnvironment = {
CASSANDRA_HOME = cassandraPackage;
JAVA_HOME = cfg.jre;
CASSANDRA_CONF = "/etc/cassandra";
};
in {
###### interface
options.services.cassandra = {
enable = mkOption {
description = "Whether to enable cassandra.";
default = false;
type = types.bool;
};
package = mkOption {
description = "Cassandra package to use.";
default = pkgs.cassandra;
defaultText = "pkgs.cassandra";
type = types.package;
};
jre = mkOption {
description = "JRE package to run cassandra service.";
default = pkgs.jre;
defaultText = "pkgs.jre";
type = types.package;
};
user = mkOption {
description = "User that runs cassandra service.";
default = "cassandra";
type = types.string;
};
group = mkOption {
description = "Group that runs cassandra service.";
default = "cassandra";
type = types.string;
};
envFile = mkOption {
description = "path to cassandra-env.sh";
default = "${cassandraPackage}/conf/cassandra-env.sh";
defaultText = "\${cassandraPackage}/conf/cassandra-env.sh";
type = types.path;
};
clusterName = mkOption {
description = "set cluster name";
default = "cassandra";
example = "prod-cluster0";
type = types.string;
};
commitLogDirectory = mkOption {
description = "directory for commit logs";
default = "/var/lib/cassandra/commit_log";
type = types.string;
};
savedCachesDirectory = mkOption {
description = "directory for saved caches";
default = "/var/lib/cassandra/saved_caches";
type = types.string;
};
hintedHandOff = mkOption {
description = "enable hinted handoff";
default = true;
type = types.bool;
};
hintedHandOffThrottle = mkOption {
description = "hinted hand off throttle rate in kb";
default = 1024;
type = types.int;
};
commitLogSync = mkOption {
description = "commitlog sync method";
default = "periodic";
type = types.str;
example = "batch";
};
commitLogSyncPeriod = mkOption {
description = "commitlog sync period in ms ";
default = 10000;
type = types.int;
};
envScript = mkOption {
default = "${cassandraPackage}/conf/cassandra-env.sh";
defaultText = "\${cassandraPackage}/conf/cassandra-env.sh";
type = types.path;
description = "Supply your own cassandra-env.sh rather than using the default";
};
extraParams = mkOption {
description = "add additional lines to cassandra-env.sh";
default = [];
example = [''JVM_OPTS="$JVM_OPTS -Dcassandra.available_processors=1"''];
type = types.listOf types.str;
};
dataDirs = mkOption {
type = types.listOf types.path;
default = [ "/var/lib/cassandra/data" ];
description = "Data directories for cassandra";
};
logLevel = mkOption {
type = types.str;
default = "INFO";
description = "default logging level for log4j";
};
internodeEncryption = mkOption {
description = "enable internode encryption";
default = "none";
example = "all";
type = types.str;
};
clientEncryption = mkOption {
description = "enable client encryption";
default = false;
type = types.bool;
};
trustStorePath = mkOption {
description = "path to truststore";
default = ".conf/truststore";
type = types.str;
};
keyStorePath = mkOption {
description = "path to keystore";
default = ".conf/keystore";
type = types.str;
};
keyStorePassword = mkOption {
description = "password to keystore";
default = "cassandra";
type = types.str;
};
trustStorePassword = mkOption {
description = "password to truststore";
default = "cassandra";
type = types.str;
};
seeds = mkOption {
description = "password to truststore";
default = [ "127.0.0.1" ];
type = types.listOf types.str;
};
concurrentWrites = mkOption {
description = "number of concurrent writes allowed";
default = 32;
type = types.int;
};
concurrentReads = mkOption {
description = "number of concurrent reads allowed";
default = 32;
type = types.int;
};
listenAddress = mkOption {
description = "listen address";
default = "localhost";
type = types.str;
};
rpcAddress = mkOption {
description = "rpc listener address";
default = "localhost";
type = types.str;
};
incrementalBackups = mkOption {
description = "enable incremental backups";
default = false;
type = types.bool;
};
snitch = mkOption {
description = "snitch to use for topology discovery";
default = "GossipingPropertyFileSnitch";
example = "Ec2Snitch";
type = types.str;
};
dc = mkOption {
description = "datacenter for use in topology configuration";
default = "DC1";
example = "DC1";
type = types.str;
};
rack = mkOption {
description = "rack for use in topology configuration";
default = "RAC1";
example = "RAC1";
type = types.str;
};
authorizer = mkOption {
description = "
Authorization backend, implementing IAuthorizer; used to limit access/provide permissions
";
default = "AllowAllAuthorizer";
example = "CassandraAuthorizer";
type = types.str;
};
authenticator = mkOption {
description = "
Authentication backend, implementing IAuthenticator; used to identify users
";
default = "AllowAllAuthenticator";
example = "PasswordAuthenticator";
type = types.str;
};
autoBootstrap = mkOption {
description = "It makes new (non-seed) nodes automatically migrate the right data to themselves.";
default = true;
example = true;
type = types.bool;
};
streamingSocketTimoutInMS = mkOption {
description = "Enable or disable socket timeout for streaming operations";
default = 3600000; #CASSANDRA-8611
example = 120;
type = types.int;
};
repairStartAt = mkOption {
default = "Sun";
type = types.string;
description = ''
Defines realtime (i.e. wallclock) timers with calendar event
expressions. For more details re: systemd OnCalendar at
https://www.freedesktop.org/software/systemd/man/systemd.time.html#Displaying%20Time%20Spans
'';
example = ["weekly" "daily" "08:05:40" "mon,fri *-1/2-1,3 *:30:45"];
};
repairRandomizedDelayInSec = mkOption {
default = 0;
type = types.int;
description = ''Delay the timer by a randomly selected, evenly distributed
amount of time between 0 and the specified time value. re: systemd timer
RandomizedDelaySec for more details
'';
};
repairPostStop = mkOption {
default = null;
type = types.nullOr types.string;
description = ''
Run a script when repair is over. One can use it to send statsd events, email, etc.
'';
};
repairPostStart = mkOption {
default = null;
type = types.nullOr types.string;
description = ''
Run a script when repair starts. One can use it to send statsd events, email, etc.
It has same semantics as systemd ExecStopPost; So, if it fails, unit is consisdered
failed.
'';
};
};
###### implementation
config = mkIf cfg.enable {
environment.etc."cassandra/cassandra-rackdc.properties" = {
source = cassandraRackFile;
};
environment.etc."cassandra/cassandra.yaml" = {
source = cassandraConfFile;
};
environment.etc."cassandra/log4j-server.properties" = {
source = cassandraLogFile;
};
environment.etc."cassandra/cassandra-env.sh" = {
text = ''
${builtins.readFile cfg.envFile}
${concatStringsSep "\n" cfg.extraParams}
'';
};
systemd.services.cassandra = {
description = "Cassandra Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = cassandraEnvironment;
restartTriggers = [ cassandraConfFile cassandraLogFile cassandraRackFile ];
serviceConfig = {
User = cfg.user;
PermissionsStartOnly = true;
LimitAS = "infinity";
LimitNOFILE = "100000";
LimitNPROC = "32768";
LimitMEMLOCK = "infinity";
};
script = ''
${cassandraPackage}/bin/cassandra -f
'';
path = [
cfg.jre
cassandraPackage
pkgs.coreutils
];
preStart = ''
mkdir -m 0700 -p /etc/cassandra/triggers
mkdir -m 0700 -p /var/lib/cassandra /var/log/cassandra
chown ${cfg.user} /var/lib/cassandra /var/log/cassandra /etc/cassandra/triggers
'';
postStart = ''
sleep 2
while ! nodetool status >/dev/null 2>&1; do
sleep 2
done
nodetool status
'';
};
environment.systemPackages = [ cassandraPackage ];
networking.firewall.allowedTCPPorts = [
7000
7001
9042
9160
];
users.extraUsers.cassandra =
if config.ids.uids ? "cassandra"
then { uid = config.ids.uids.cassandra; } // cassandraUser
else cassandraUser ;
boot.kernel.sysctl."vm.swappiness" = pkgs.lib.mkOptionDefault 0;
systemd.timers."cassandra-repair" = {
timerConfig = {
OnCalendar = "${toString cfg.repairStartAt}";
RandomizedDelaySec = cfg.repairRandomizedDelayInSec;
};
};
systemd.services."cassandra-repair" = {
description = "Cassandra repair daemon";
environment = cassandraEnvironment;
script = "${cassandraPackage}/bin/nodetool repair -pr";
postStop = mkIf (cfg.repairPostStop != null) cfg.repairPostStop;
postStart = mkIf (cfg.repairPostStart != null) cfg.repairPostStart;
serviceConfig = {
User = cfg.user;
};
};
};
}

View File

@ -380,6 +380,7 @@ in {
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
TimeoutSec = "300"; TimeoutSec = "300";
Restart = "on-failure";
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab"; WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -q post_receive -q mailers -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.statePath}/tmp/sidekiq.pid\""; ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -q post_receive -q mailers -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
}; };
@ -404,6 +405,7 @@ in {
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
TimeoutSec = "300"; TimeoutSec = "300";
Restart = "on-failure";
ExecStart = ExecStart =
"${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse " "${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse "
+ "-listenUmask 0 " + "-listenUmask 0 "

View File

@ -18,7 +18,9 @@ let
${cfg.config} ${cfg.config}
${optionalString (cfg.httpConfig == "") '' ${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
events {}
http { http {
include ${cfg.package}/conf/mime.types; include ${cfg.package}/conf/mime.types;
include ${cfg.package}/conf/fastcgi.conf; include ${cfg.package}/conf/fastcgi.conf;
@ -96,6 +98,7 @@ let
}''} }''}
${optionalString (cfg.httpConfig != "") '' ${optionalString (cfg.httpConfig != "") ''
events {}
http { http {
include ${cfg.package}/conf/mime.types; include ${cfg.package}/conf/mime.types;
include ${cfg.package}/conf/fastcgi.conf; include ${cfg.package}/conf/fastcgi.conf;
@ -233,9 +236,12 @@ in
}; };
config = mkOption { config = mkOption {
default = "events {}"; default = "";
description = " description = "
Verbatim nginx.conf configuration. Verbatim nginx.conf configuration.
This is mutually exclusive with the structured configuration
via virtualHosts and the recommendedXyzSettings configuration
options. See appendConfig for appending to the generated http block.
"; ";
}; };
@ -268,8 +274,8 @@ in
default = ""; default = "";
description = " description = "
Configuration lines to be appended to the generated http block. Configuration lines to be appended to the generated http block.
This is mutually exclusive with using httpConfig for specifying the whole This is mutually exclusive with using config and httpConfig for
http block verbatim. specifying the whole http block verbatim.
"; ";
}; };

View File

@ -9,6 +9,12 @@ let
pidFile = "${stateDir}/phpfpm.pid"; pidFile = "${stateDir}/phpfpm.pid";
mkPool = n: p: ''
[${n}]
listen = ${p.listen}
${p.extraConfig}
'';
cfgFile = pkgs.writeText "phpfpm.conf" '' cfgFile = pkgs.writeText "phpfpm.conf" ''
[global] [global]
pid = ${pidFile} pid = ${pidFile}
@ -16,6 +22,8 @@ let
daemonize = yes daemonize = yes
${cfg.extraConfig} ${cfg.extraConfig}
${concatStringsSep "\n" (mapAttrsToList mkPool cfg.pools)}
${concatStringsSep "\n" (mapAttrsToList (n: v: "[${n}]\n${v}") cfg.poolConfigs)} ${concatStringsSep "\n" (mapAttrsToList (n: v: "[${n}]\n${v}") cfg.poolConfigs)}
''; '';
@ -62,8 +70,8 @@ in {
}; };
poolConfigs = mkOption { poolConfigs = mkOption {
type = types.attrsOf types.lines;
default = {}; default = {};
type = types.attrsOf types.lines;
example = literalExample '' example = literalExample ''
{ mypool = ''' { mypool = '''
listen = /run/phpfpm/mypool listen = /run/phpfpm/mypool
@ -84,10 +92,20 @@ in {
the phpfpm service is disabled. the phpfpm service is disabled.
''; '';
}; };
pools = mkOption {
type = types.attrsOf (types.submodule (import ./pool-options.nix {
inherit lib;
}));
default = {};
description = ''
If no pools are defined, the phpfpm service is disabled.
'';
};
}; };
}; };
config = mkIf (cfg.poolConfigs != {}) { config = mkIf (cfg.pools != {}) {
systemd.services.phpfpm = { systemd.services.phpfpm = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View File

@ -0,0 +1,35 @@
{ lib }:
with lib; {
options = {
listen = mkOption {
type = types.str;
example = "/path/to/unix/socket";
description = ''
The address on which to accept FastCGI requests.
'';
};
extraConfig = mkOption {
type = types.lines;
example = ''
user = nobody
pm = dynamic
pm.max_children = 75
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
'';
description = ''
Extra lines that go into the pool configuration.
See the documentation on <literal>php-fpm.conf</literal> for
details on configuration directives.
'';
};
};
}

View File

@ -25,16 +25,21 @@ in {
accelProfile = mkOption { accelProfile = mkOption {
type = types.enum [ "flat" "adaptive" ]; type = types.enum [ "flat" "adaptive" ];
default = "flat"; default = "adaptive";
example = "adaptive"; example = "flat";
description = description =
'' ''
Sets the pointer acceleration profile to the given profile. Permitted values are adaptive, flat. Sets the pointer acceleration profile to the given profile.
Not all devices support this option or all profiles. If a profile is unsupported, the default profile Permitted values are adaptive, flat.
for this is used. For a description on the profiles and their behavior, see the libinput documentation. Not all devices support this option or all profiles.
If a profile is unsupported, the default profile for this is used.
<literal>flat</literal>: Pointer motion is accelerated by a constant
(device-specific) factor, depending on the current speed.
<literal>adaptive</literal>: Pointer acceleration depends on the input speed.
This is the default profile for most devices.
''; '';
}; };
accelSpeed = mkOption { accelSpeed = mkOption {
type = types.nullOr types.string; type = types.nullOr types.string;
default = null; default = null;
@ -216,7 +221,7 @@ in {
Option "LeftHanded" "${xorgBool cfg.leftHanded}" Option "LeftHanded" "${xorgBool cfg.leftHanded}"
Option "MiddleEmulation" "${xorgBool cfg.middleEmulation}" Option "MiddleEmulation" "${xorgBool cfg.middleEmulation}"
Option "NaturalScrolling" "${xorgBool cfg.naturalScrolling}" Option "NaturalScrolling" "${xorgBool cfg.naturalScrolling}"
${optionalString (cfg.scrollButton != null) ''Option "ScrollButton" "${cfg.scrollButton}"''} ${optionalString (cfg.scrollButton != null) ''Option "ScrollButton" "${toString cfg.scrollButton}"''}
Option "ScrollMethod" "${cfg.scrollMethod}" Option "ScrollMethod" "${cfg.scrollMethod}"
Option "HorizontalScrolling" "${xorgBool cfg.horizontalScrolling}" Option "HorizontalScrolling" "${xorgBool cfg.horizontalScrolling}"
Option "SendEventsMode" "${cfg.sendEventsMode}" Option "SendEventsMode" "${cfg.sendEventsMode}"

View File

@ -185,39 +185,6 @@ if test -n "$debug1devices"; then fail; fi
@postDeviceCommands@ @postDeviceCommands@
# Try to resume - all modules are loaded now, and devices exist
if test -e /sys/power/tuxonice/resume; then
if test -n "$(cat /sys/power/tuxonice/resume)"; then
echo 0 > /sys/power/tuxonice/user_interface/enabled
echo 1 > /sys/power/tuxonice/do_resume || echo "failed to resume..."
fi
fi
if test -e /sys/power/resume -a -e /sys/power/disk; then
if test -n "@resumeDevice@"; then
resumeDev="@resumeDevice@"
resumeInfo="$(udevadm info -q property "$resumeDev" )"
else
for sd in @resumeDevices@; do
# Try to detect resume device. According to Ubuntu bug:
# https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/923326/comments/1
# when there are multiple swap devices, we can't know where the hibernate
# image will reside. We can check all of them for swsuspend blkid.
resumeInfo="$(test -e "$sd" && udevadm info -q property "$sd")"
if [ "$(echo "$resumeInfo" | sed -n 's/^ID_FS_TYPE=//p')" = "swsuspend" ]; then
resumeDev="$sd"
break
fi
done
fi
if test -e "$resumeDev"; then
resumeMajor="$(echo "$resumeInfo" | sed -n 's/^MAJOR=//p')"
resumeMinor="$(echo "$resumeInfo" | sed -n 's/^MINOR=//p')"
echo "$resumeMajor:$resumeMinor" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
fi
fi
# Return true if the machine is on AC power, or if we can't determine # Return true if the machine is on AC power, or if we can't determine
# whether it's on AC power. # whether it's on AC power.
onACPower() { onACPower() {
@ -348,6 +315,68 @@ mountFS() {
} }
# Function for waiting a device to appear.
waitDevice() {
local device="$1"
# USB storage devices tend to appear with some delay. It would be
# great if we had a way to synchronously wait for them, but
# alas... So just wait for a few seconds for the device to
# appear.
if test ! -e $device; then
echo -n "waiting for device $device to appear..."
try=20
while [ $try -gt 0 ]; do
sleep 1
# also re-try lvm activation now that new block devices might have appeared
lvm vgchange -ay
# and tell udev to create nodes for the new LVs
udevadm trigger --action=add
if test -e $device; then break; fi
echo -n "."
try=$((try - 1))
done
echo
[ $try -ne 0 ]
fi
}
# Try to resume - all modules are loaded now.
if test -e /sys/power/tuxonice/resume; then
if test -n "$(cat /sys/power/tuxonice/resume)"; then
echo 0 > /sys/power/tuxonice/user_interface/enabled
echo 1 > /sys/power/tuxonice/do_resume || echo "failed to resume..."
fi
fi
if test -e /sys/power/resume -a -e /sys/power/disk; then
if test -n "@resumeDevice@" && waitDevice "@resumeDevice@"; then
resumeDev="@resumeDevice@"
resumeInfo="$(udevadm info -q property "$resumeDev" )"
else
for sd in @resumeDevices@; do
# Try to detect resume device. According to Ubuntu bug:
# https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/923326/comments/1
# when there are multiple swap devices, we can't know where the hibernate
# image will reside. We can check all of them for swsuspend blkid.
if waitDevice "$sd"; then
resumeInfo="$(udevadm info -q property "$sd")"
if [ "$(echo "$resumeInfo" | sed -n 's/^ID_FS_TYPE=//p')" = "swsuspend" ]; then
resumeDev="$sd"
break
fi
fi
done
fi
if test -n "$resumeDev"; then
resumeMajor="$(echo "$resumeInfo" | sed -n 's/^MAJOR=//p')"
resumeMinor="$(echo "$resumeInfo" | sed -n 's/^MINOR=//p')"
echo "$resumeMajor:$resumeMinor" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
fi
fi
# Try to find and mount the root device. # Try to find and mount the root device.
mkdir -p $targetRoot mkdir -p $targetRoot
@ -380,29 +409,11 @@ while read -u 3 mountPoint; do
;; ;;
esac esac
# USB storage devices tend to appear with some delay. It would be if test -z "$pseudoDevice" && ! waitDevice "$device"; then
# great if we had a way to synchronously wait for them, but # If it doesn't appear, try to mount it anyway (and
# alas... So just wait for a few seconds for the device to # probably fail). This is a fallback for non-device "devices"
# appear. If it doesn't appear, try to mount it anyway (and # that we don't properly recognise.
# probably fail). This is a fallback for non-device "devices" echo "Timed out waiting for device $device, trying to mount anyway."
# that we don't properly recognise.
if test -z "$pseudoDevice" -a ! -e $device; then
echo -n "waiting for device $device to appear..."
try=20
while [ $try -gt 0 ]; do
sleep 1
# also re-try lvm activation now that new block devices might have appeared
lvm vgchange -ay
# and tell udev to create nodes for the new LVs
udevadm trigger --action=add
if test -e $device; then break; fi
echo -n "."
try=$((try - 1))
done
echo
if [ $try -eq 0 ]; then
echo "Timed out waiting for device $device, trying to mount anyway."
fi
fi fi
# Wait once more for the udev queue to empty, just in case it's # Wait once more for the udev queue to empty, just in case it's

View File

@ -87,15 +87,11 @@ let
LDD="$(ldd $BIN)" || continue LDD="$(ldd $BIN)" || continue
LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')" LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')"
for LIB in $LIBS; do for LIB in $LIBS; do
[ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib TGT="$out/lib/$(basename $LIB)"
while [ "$(readlink $LIB)" != "" ]; do if [ ! -f "$TGT" ]; then
LINK="$(readlink $LIB)" SRC="$(readlink -e $LIB)"
if [ "${LINK:0:1}" != "/" ]; then cp -pdv "$SRC" "$TGT"
LINK="$(dirname $LIB)/$LINK" fi
fi
LIB="$LINK"
[ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib
done
done done
done done

View File

@ -63,7 +63,6 @@ in rec {
imagemagick imagemagick
jdk jdk
linux linux
mysql51
mysql55 mysql55
nginx nginx
nodejs nodejs

68
nixos/tests/cassandra.nix Normal file
View File

@ -0,0 +1,68 @@
import ./make-test.nix ({ pkgs, ...}:
let
user = "cassandra";
nodeCfg = nodes: selfIP: cassandraOpts:
{
services.cassandra = {
enable = true;
listenAddress = selfIP;
rpcAddress = "0.0.0.0";
seeds = [ "192.168.1.1" ];
package = pkgs.cassandra_2_0;
jre = pkgs.openjdk;
clusterName = "ci ahoy";
authenticator = "PasswordAuthenticator";
authorizer = "CassandraAuthorizer";
user = user;
} // cassandraOpts;
nixpkgs.config.allowUnfree = true;
virtualisation.memorySize = 1024;
};
in
{
name = "cassandra-ci";
nodes = {
cass0 = {pkgs, config, nodes, ...}: nodeCfg nodes "192.168.1.1" {};
cass1 = {pkgs, config, nodes, ...}: nodeCfg nodes "192.168.1.2" {};
cass2 = {pkgs, config, nodes, ...}: nodeCfg nodes "192.168.1.3" {
extraParams = [
''JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=192.168.1.2"''
];
listenAddress = "192.168.1.3";
};
};
testScript = ''
subtest "start seed", sub {
$cass0->waitForUnit("cassandra.service");
$cass0->waitForOpenPort(9160);
$cass0->execute("echo show version | cqlsh localhost -u cassandra -p cassandra");
sleep 2;
$cass0->succeed("echo show version | cqlsh localhost -u cassandra -p cassandra");
$cass1->start;
};
subtest "cassandra user/group", sub {
$cass0->succeed("id \"${user}\" >/dev/null");
$cass1->succeed("id \"${user}\" >/dev/null");
};
subtest "bring up cassandra cluster", sub {
$cass1->waitForUnit("cassandra.service");
$cass0->waitUntilSucceeds("nodetool status | grep -c UN | grep 2");
};
subtest "break and fix node", sub {
$cass0->block;
$cass0->waitUntilSucceeds("nodetool status | grep -c DN | grep 1");
$cass0->unblock;
$cass0->waitUntilSucceeds("nodetool status | grep -c UN | grep 2");
};
subtest "replace crashed node", sub {
$cass1->crash;
$cass2->start;
$cass2->waitForUnit("cassandra.service");
$cass0->waitUntilFails("nodetool status | grep UN | grep 192.168.1.2");
$cass0->waitUntilSucceeds("nodetool status | grep UN | grep 192.168.1.3");
};
'';
})

View File

@ -4,31 +4,37 @@
# 3. GoCD agent is available on GoCD server using GoCD API # 3. GoCD agent is available on GoCD server using GoCD API
# 3.1. https://api.go.cd/current/#get-all-agents # 3.1. https://api.go.cd/current/#get-all-agents
let
serverUrl = "localhost:8153/go/api/agents";
header = "Accept: application/vnd.go.cd.v2+json";
in
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, ...} : {
name = "gocd-agent"; name = "gocd-agent";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ swarren83 ]; maintainers = [ grahamc swarren83 ];
}; };
nodes = { nodes = {
gocd_agent = gocd_agent =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
virtualisation.memorySize = 2048; virtualisation.memorySize = 2046;
services.gocd-agent = { services.gocd-agent = {
enable = true; enable = true;
};
services.gocd-server = {
enable = true;
};
}; };
services.gocd-server = { };
enable = true;
};
};
};
testScript = '' testScript = ''
startAll; startAll;
$gocd_agent->waitForUnit("gocd-server"); $gocd_agent->waitForUnit("gocd-server");
$gocd_agent->waitForOpenPort("8153"); $gocd_agent->waitForOpenPort("8153");
$gocd_agent->waitForUnit("gocd-agent"); $gocd_agent->waitForUnit("gocd-agent");
$gocd_agent->waitUntilSucceeds("curl -s -f localhost:8153/go/api/agents -H 'Accept: application/vnd.go.cd.v2+json'"); $gocd_agent->waitUntilSucceeds("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid");
$gocd_agent->succeed("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle");
''; '';
}) })

View File

@ -2,7 +2,7 @@
# 1. GoCD server starts # 1. GoCD server starts
# 2. GoCD server responds # 2. GoCD server responds
import ./make-test.nix ({ pkgs, ...} : import ./make-test.nix ({ pkgs, ...} :
{ {
name = "gocd-server"; name = "gocd-server";
@ -13,8 +13,8 @@ import ./make-test.nix ({ pkgs, ...} :
nodes = { nodes = {
gocd_server = gocd_server =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
virtualisation.memorySize = 2048; virtualisation.memorySize = 2046;
services.gocd-server.enable = true; services.gocd-server.enable = true;
}; };
}; };

View File

@ -201,19 +201,21 @@ let
# The test cannot access the network, so any packages we # The test cannot access the network, so any packages we
# need must be included in the VM. # need must be included in the VM.
system.extraDependencies = system.extraDependencies = with pkgs;
[ pkgs.sudo [ sudo
pkgs.docbook5 libxml2.bin
pkgs.docbook5_xsl libxslt.bin
pkgs.unionfs-fuse docbook5
pkgs.ntp docbook5_xsl
pkgs.nixos-artwork unionfs-fuse
pkgs.perlPackages.XMLLibXML ntp
pkgs.perlPackages.ListCompare nixos-artwork
perlPackages.XMLLibXML
perlPackages.ListCompare
# add curl so that rather than seeing the test attempt to download # add curl so that rather than seeing the test attempt to download
# curl's tarball, we see what it's trying to download # curl's tarball, we see what it's trying to download
pkgs.curl curl
] ]
++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub ++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ]; ++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ];

View File

@ -1,69 +1,71 @@
{ stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs { stdenv, fetchurl, pkgconfig, wrapGAppsHook, gettext, glib, gtk3
, gettext, dbus_glib, libxml2, libmad, xorg, alsaLib, libogg , libmowgli, libmcs, dbus_glib, libxml2, xorg, gnome3, alsaLib
, libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper , libpulseaudio, libjack2, fluidsynth, libmad, libogg, libvorbis
, mpg123, neon, faad2, gnome3 , libcdio082, libcddb, flac, ffmpeg, mpg123, libcue, libmms, libbs2b
, libsndfile, libmodplug, libsamplerate, soxr, lirc, curl, wavpack
, neon, faad2, lame, libnotify, libsidplayfp
}: }:
let version = "3.5.2"; in stdenv.mkDerivation rec {
stdenv.mkDerivation {
name = "audacious-${version}"; name = "audacious-${version}";
version = "3.7.2";
src = fetchurl { src = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; url = "http://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2";
sha256 = "0mhrdj76h0g6q197wgp8rxk6gqsrirrw49hfidcb5b7q5rlvj59r"; sha256 = "1pvyxi8niy70nv13kc16g2vaywwahmg2650fa7v4rlbmykifk75z";
}; };
pluginsSrc = fetchurl { pluginsSrc = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}-gtk3.tar.bz2";
sha256 = "1nacd8n46q3pqnwavq3i2ayls609gvxfcp3qqpcsfcdfz3bh15hp"; sha256 = "0gxka0lp9a35k2xgq8bx69wyv83dvrqnpwcsqliy3h3yz6v1fv2v";
}; };
buildInputs = nativeBuildInputs = [
[ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib pkgconfig wrapGAppsHook
libmad xorg.libXcomposite libogg libvorbis flac alsaLib libcdio ];
libcddb ffmpeg makeWrapper mpg123 neon faad2 gnome3.defaultIconTheme
];
# Here we build bouth audacious and audacious-plugins in one buildInputs = [
gettext glib gtk3 libmowgli libmcs dbus_glib libxml2
xorg.libXcomposite gnome3.defaultIconTheme alsaLib libjack2
libpulseaudio fluidsynth libmad libogg libvorbis libcdio082
libcddb flac ffmpeg mpg123 libcue libmms libbs2b libsndfile
libmodplug libsamplerate soxr lirc curl wavpack neon faad2
lame libnotify libsidplayfp
];
configureFlags = [ "--enable-statusicon" ];
# Here we build both audacious and audacious-plugins in one
# derivations, since they really expect to be in the same prefix. # derivations, since they really expect to be in the same prefix.
# This is slighly tricky. # This is slighly tricky.
builder = builtins.toFile "builder.sh" builder = builtins.toFile "builder.sh" ''
'' # First build audacious.
# First build audacious. (
( source $stdenv/setup
source $stdenv/setup genericBuild
genericBuild )
)
# Then build the plugins. # Then build the plugins.
( (
nativeBuildInputs="$out $nativeBuildInputs" # to find audacious dontWrapGApps=true
source $stdenv/setup nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
rm -rfv audacious-* source $stdenv/setup
src=$pluginsSrc rm -rfv audacious-*
genericBuild src=$pluginsSrc
) genericBuild
)
( '';
source $stdenv/setup
# gsettings schemas for file dialogues
# XDG_ICON_DIRS is set by hook for gnome3.defaultIconTheme
for file in "$out/bin/"*; do
wrapProgram "$file" \
--prefix XDG_DATA_DIRS : "$XDG_ADD:$GSETTINGS_SCHEMAS_PATH" \
--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
done
)
'';
XDG_ADD = gtk3 + "/share";
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = with stdenv.lib; {
description = "Audio player"; description = "Audio player";
homepage = http://audacious-media-player.org/; homepage = http://audacious-media-player.org/;
maintainers = with stdenv.lib.maintainers; [ eelco ]; maintainers = with maintainers; [ eelco ramkromberg ];
platforms = stdenv.lib.platforms.linux; platforms = with platforms; linux;
license = with licenses; [
bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
];
}; };
} }

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
src = fetchgit { src = fetchgit {
url = "https://github.com/OSSIA/i-score.git"; url = "https://github.com/OSSIA/i-score.git";
rev = "ede2453b139346ae46702b5e2643c5488f8c89fb"; rev = "ede2453b139346ae46702b5e2643c5488f8c89fb";
sha256 = "0mk0zsqhx9z7ry1amjki89h6yp5ysi1qgy2j3kzhrm5sfazvf0x3"; sha256 = "0cl9vdmxkshdacgpp7s2rg40b7xbsjrzw916jds9i3rpq1pcy5pj";
leaveDotGit = true; leaveDotGit = true;
deepClone = true; deepClone = true;
}; };

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "musescore-${version}"; name = "musescore-${version}";
version = "2.0.2"; version = "2.0.3";
src = fetchzip { src = fetchzip {
url = "https://github.com/musescore/MuseScore/archive/v${version}.tar.gz"; url = "https://github.com/musescore/MuseScore/archive/v${version}.tar.gz";
sha256 = "12a83v4i830gj76z5744034y1vvwzgy27mjbjp508yh9bd328yqw"; sha256 = "067f4li48qfhz2barj70zpf2d2mlii12npx07jx9xjkkgz84z4c9";
}; };
makeFlags = [ makeFlags = [

View File

@ -1,10 +1,11 @@
{ stdenv, fetchFromGitHub , liblo, libxml2, libjack2, libsndfile, wxGTK, libsigcxx { stdenv, fetchFromGitHub, liblo, libxml2, libjack2, libsndfile, wxGTK, libsigcxx
,libsamplerate, rubberband, pkgconfig, autoconf, automake, libtool, gettext, ncurses, which , libsamplerate, rubberband, pkgconfig, libtool, gettext, ncurses, which
, autoreconfHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sooperlooper-git-${version}"; name = "sooperlooper-git-${version}";
version = "19-07-2016"; version = "2016-07-19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "essej"; owner = "essej";
@ -13,9 +14,16 @@ stdenv.mkDerivation rec {
sha256 = "0qz25h4idv79m97ici2kzx72fwzks3lysyksk3p3rx72lsijhf3g"; sha256 = "0qz25h4idv79m97ici2kzx72fwzks3lysyksk3p3rx72lsijhf3g";
}; };
autoreconfPhase = ''
patchShebangs ./autogen.sh
./autogen.sh
'';
nativeBuildInputs = [ autoreconfHook pkgconfig which libtool ];
buildInputs = [ buildInputs = [
liblo libxml2 libjack2 libsndfile wxGTK libsigcxx liblo libxml2 libjack2 libsndfile wxGTK libsigcxx
libsamplerate rubberband pkgconfig autoconf automake libtool gettext ncurses which libsamplerate rubberband gettext ncurses
]; ];
meta = { meta = {

View File

@ -5,7 +5,7 @@
assert stdenv.system == "x86_64-linux"; assert stdenv.system == "x86_64-linux";
let let
version = "1.0.34.146.g28f9eda2-19"; version = "1.0.36.120.g536a862f-20";
deps = [ deps = [
alsaLib alsaLib
@ -50,7 +50,7 @@ stdenv.mkDerivation {
src = src =
fetchurl { fetchurl {
url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb"; url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "1pks9b83aj6y3c3jlmll0rs05yk15r49v0v4amm950z68v182a5g"; sha256 = "03r4hz4x4f3zmp6dsv1n72y5q01d7mfqvaaxqvd587a5561gahf0";
}; };
buildInputs = [ dpkg makeWrapper ]; buildInputs = [ dpkg makeWrapper ];

View File

@ -0,0 +1,82 @@
{ bash
, buildFHSUserEnv
, coreutils
, fetchurl
, findutils
, git
, gnugrep
, gnutar
, gzip
, jdk
, libXrandr
, makeWrapper
, pkgsi686Linux
, stdenv
, unzip
, which
, writeTextFile
, zlib
}:
let
version = "2.1.2.0";
build = "143.2915827";
androidStudio = stdenv.mkDerivation {
name = "android-studio";
buildInputs = [
makeWrapper
unzip
];
installPhase = ''
cp -r . $out
wrapProgram $out/bin/studio.sh --set PATH "${stdenv.lib.makeBinPath [
# Checked in studio.sh
coreutils
findutils
gnugrep
jdk
which
# Used during setup wizard
gnutar
gzip
# Runtime stuff
git
]}" --set LD_LIBRARY_PATH "${stdenv.lib.makeLibraryPath [
# Gradle wants libstdc++.so.6
stdenv.cc.cc.lib
# mksdcard wants 32 bit libstdc++.so.6
pkgsi686Linux.stdenv.cc.cc.lib
# aapt wants libz.so.1
zlib
# Support multiple monitors
libXrandr
]}"
'';
src = fetchurl {
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
sha256 = "0q61m8yln77valg7y6lyxlml53z387zh6fyfgc22sm3br5ahbams";
};
};
# Android Studio downloads prebuilt binaries as part of the SDK. These tools
# (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS
# environment is used as a work around for that.
fhsEnv = buildFHSUserEnv {
name = "android-studio-fhs-env";
};
in writeTextFile {
name = "android-studio-${version}";
destination = "/bin/android-studio";
executable = true;
text = ''
#!${bash}/bin/bash
${fhsEnv}/bin/android-studio-fhs-env ${androidStudio}/bin/studio.sh
'';
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "atom-${version}"; name = "atom-${version}";
version = "1.9.0"; version = "1.9.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0hhv1yfs2h5x86pjbkbdg1mn15afdd3baddwpf3p0fl8x2gv9z7m"; sha256 = "1hw3s4zc0rs138gg429w98kkgmkm19wgq7r790hic5naci7d7f4i";
name = "${name}.deb"; name = "${name}.deb";
}; };

View File

@ -10,32 +10,6 @@ let
bnumber = with stdenv.lib; build: last (splitString "-" build); bnumber = with stdenv.lib; build: last (splitString "-" build);
mkIdeaProduct = callPackage ./common.nix { }; mkIdeaProduct = callPackage ./common.nix { };
buildAndroidStudio = { name, version, build, src, license, description, wmClass }:
let drv = (mkIdeaProduct rec {
inherit name version build src wmClass jdk;
product = "Studio";
meta = with stdenv.lib; {
homepage = https://developer.android.com/sdk/installing/studio.html;
inherit description license;
longDescription = ''
Android development environment based on IntelliJ
IDEA providing new features and improvements over
Eclipse ADT and will be the official Android IDE
once it's ready.
'';
platforms = platforms.linux;
maintainers = with maintainers; [ edwtjo ];
};
});
in stdenv.lib.overrideDerivation drv (x : {
buildInputs = x.buildInputs ++ [ makeWrapper ];
installPhase = x.installPhase + ''
wrapProgram "$out/bin/android-studio" \
--set ANDROID_HOME "${androidsdk}/libexec/" \
--set LD_LIBRARY_PATH "${stdenv.cc.cc.lib}/lib" # Gradle installs libnative-platform.so in ~/.gradle, that requires libstdc++.so.6
'';
});
buildClion = { name, version, build, src, license, description, wmClass }: buildClion = { name, version, build, src, license, description, wmClass }:
(mkIdeaProduct rec { (mkIdeaProduct rec {
inherit name version build src wmClass jdk; inherit name version build src wmClass jdk;
@ -147,20 +121,6 @@ in
{ {
android-studio = let buildNumber = "143.2915827"; in buildAndroidStudio rec {
name = "android-studio-${version}";
version = "2.1.2.0";
build = "AI-${buildNumber}";
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-${buildNumber}-linux.zip";
sha256 = "0q61m8yln77valg7y6lyxlml53z387zh6fyfgc22sm3br5ahbams";
};
wmClass = "jetbrains-studio";
};
clion = buildClion rec { clion = buildClion rec {
name = "clion-${version}"; name = "clion-${version}";
version = "1.2.5"; version = "1.2.5";

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "geeqie-${version}"; name = "geeqie-${version}";
version = "1.2.3"; version = "1.3";
src = fetchurl { src = fetchurl {
url = "http://geeqie.org/${name}.tar.xz"; url = "http://geeqie.org/${name}.tar.xz";
sha256 = "2629bf33a9070fad4804b1ef051c3bf8a8fdad3bba4e6188dc20588185003248"; sha256 = "0gzc82sy66pbsmq7lnmq4y37zqad1zfwfls3ik3dmfm8s5nmcvsb";
}; };
preConfigure = "./autogen.sh"; preConfigure = "./autogen.sh";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "acbuild-${version}"; name = "acbuild-${version}";
version = "0.3.0"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "appc"; owner = "appc";
repo = "acbuild"; repo = "acbuild";
rev = "v${version}"; rev = "v${version}";
sha256 = "19f2fybz4m7d5sp1v8zkl26ig4dacr27qan9h5lxyn2v7a5z34rc"; sha256 = "0s81xlaw75d05b4cidxml978hnxak8parwpnk9clanwqjbj66c7x";
}; };
buildInputs = [ go ]; buildInputs = [ go ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng { stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp , makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
, xdg_utils , xdg_utils, makeDesktopItem
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
name = "calibre-${version}"; name = "calibre-${version}";
src = fetchurl { src = fetchurl {
url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd"; sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd";
}; };
@ -67,11 +67,88 @@ stdenv.mkDerivation rec {
wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \ wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \
--prefix PATH : ${poppler_utils.out}/bin --prefix PATH : ${poppler_utils.out}/bin
done done
# Replace @out@ by the output path.
mkdir -p $out/share/applications/
cp {$calibreDesktopItem,$ebookEditDesktopItem,$ebookViewerDesktopItem}/share/applications/* $out/share/applications/
for entry in $out/share/applications/*.desktop; do
substituteAllInPlace $entry
done
''; '';
calibreDesktopItem = makeDesktopItem {
name = "calibre";
desktopName = "calibre";
exec = "@out@/bin/calibre --detach %F";
genericName = "E-book library management";
icon = "@out@/share/calibre/images/library.png";
comment = "Manage, convert, edit, and read e-books";
mimeType = stdenv.lib.concatStringsSep ";" [
"application/x-mobipocket-subscription"
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
"text/html"
"application/x-cbc"
"application/ereader"
"application/oebps-package+xml"
"image/vnd.djvu"
"application/x-sony-bbeb"
"application/vnd.ms-word.document.macroenabled.12"
"text/rtf"
"text/x-markdown"
"application/pdf"
"application/x-cbz"
"application/x-mobipocket-ebook"
"application/x-cbr"
"application/x-mobi8-ebook"
"text/fb2+xml"
"application/vnd.oasis.opendocument.text"
"application/epub+zip"
"text/plain"
"application/xhtml+xml"
];
categories = "Office";
extraEntries = ''
Actions=ebook-edit ebook-viewer
[Desktop Action ebook-edit]
Name=Edit E-book
Icon=@out@/share/calibre/images/tweak.png
Exec=@out@/bin/ebook-edit --detach %F
[Desktop Action ebook-viewer]
Name=E-book Viewer
Icon=@out@/share/calibre/images/viewer.png
Exec=@out@/bin/ebook-viewer --detach %F
'';
};
ebookEditDesktopItem = makeDesktopItem {
name = "calibre-edit-ebook";
desktopName = "Edit E-book";
genericName = "E-book Editor";
comment = "Edit e-books";
icon = "@out@/share/calibre/images/tweak.png";
exec = "@out@/bin/ebook-edit --detach %F";
categories = "Office;Publishing";
mimeType = "application/epub+zip";
extraEntries = "NoDisplay=true";
};
ebookViewerDesktopItem = makeDesktopItem {
name = "calibre-ebook-viewer";
desktopName = "E-book Viewer";
genericName = "E-book Viewer";
comment = "Read e-books in all the major formats";
icon = "@out@/share/calibre/images/viewer.png";
exec = "@out@/bin/ebook-viewer --detach %F";
categories = "Office;Viewer";
mimeType = "application/epub+zip";
extraEntries = "NoDisplay=true";
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Comprehensive e-book software"; description = "Comprehensive e-book software";
homepage = http://calibre-ebook.com; homepage = https://calibre-ebook.com;
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3; license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ]; maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -0,0 +1,27 @@
{ stdenv, pkgconfig, gtk2, keybinder, fetchFromGitLab }:
stdenv.mkDerivation {
name = "fehlstart-9f4342d7";
src = fetchFromGitLab {
owner = "fehlstart";
repo = "fehlstart";
rev = "9f4342d75ec5e2a46c13c99c34894bc275798441";
sha256 = "1rfzh7w6n2s9waprv7m1bhvqrk36a77ada7w655pqiwkhdj5q95i";
};
patches = [ ./use-nix-profiles.patch ];
buildInputs = [ pkgconfig gtk2 keybinder ];
preConfigure = ''
export PREFIX=$out
'';
meta = with stdenv.lib; {
description = "Small desktop application launcher with reasonable memory footprint";
homepage = https://gitlab.com/fehlstart/fehlstart;
licence = licenses.gpl3;
maintainers = [ maintainers.mounium ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,21 @@
--- fehlstart-9f4342d75ec5e2a46c13c99c34894bc275798441-src/fehlstart.c 1970-01-01 01:00:01.000000000 +0100
+++ fehlstart.c 2016-08-10 12:21:11.231638418 +0200
@@ -779,8 +779,15 @@
read_settings(setting_file, &settings);
update_commands();
g_hash_table_foreach(action_map, update_launcher, NULL);
- add_launchers(STR_S(APPLICATIONS_DIR_0));
- add_launchers(STR_S(APPLICATIONS_DIR_1));
- add_launchers(STR_S(USER_APPLICATIONS_DIR));
+ const char* nixprofiles = getenv("NIX_PROFILES");
+ if(nixprofiles != NULL) {
+ const char* pch = strtok(nixprofiles, " ");
+ while (pch != NULL)
+ {
+ String nix_dir = str_concat((String) { pch, strlen(pch), false },STR_S("/share/applications"));
+ add_launchers(nix_dir);
+ pch = strtok(NULL, " ");
+ }
+ }
return NULL;
}

View File

@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
''; '';
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.romildo ]; maintainers = [ stdenv.lib.maintainers.romildo ];
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"; sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
}; };
doCheck = false; doCheck = true;
meta = { meta = {
description = "A program that produces a familiar, friendly greeting"; description = "A program that produces a familiar, friendly greeting";

View File

@ -1,44 +1,317 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "golang.org/x/sys",
"packages": [ "fetch": {
"gopkg.in/yaml.v2", "type": "git",
"github.com/hashicorp/hcl", "url": "https://go.googlesource.com/sys",
"github.com/pkg/sftp", "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f",
"golang.org/x/sys", "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"
"github.com/hashicorp/go-multierror", }
"golang.org/x/crypto", },
"github.com/pkg/errors", {
"github.com/kr/fs", "goPackagePath": "gopkg.in/yaml.v2",
"github.com/kyokomi/emoji", "fetch": {
"github.com/bep/inflect", "type": "git",
"github.com/BurntSushi/toml", "url": "https://gopkg.in/yaml.v2",
"github.com/PuerkitoBio/purell", "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
"github.com/PuerkitoBio/urlesc", "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
"github.com/dchest/cssmin", }
"github.com/eknkc/amber", },
"github.com/gorilla/websocket", {
"github.com/kardianos/osext", "goPackagePath": "golang.org/x/crypto",
"github.com/miekg/mmark", "fetch": {
"github.com/mitchellh/mapstructure", "type": "git",
"github.com/russross/blackfriday", "url": "https://go.googlesource.com/crypto",
"github.com/shurcooL/sanitized_anchor_name", "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
"github.com/spf13/afero", "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
"github.com/spf13/cast", }
"github.com/spf13/jwalterweatherman", },
"github.com/spf13/cobra", {
"github.com/cpuguy83/go-md2man", "goPackagePath": "github.com/gorilla/websocket",
"github.com/inconshreveable/mousetrap", "fetch": {
"github.com/spf13/pflag", "type": "git",
"github.com/spf13/fsync", "url": "https://github.com/gorilla/websocket",
"github.com/spf13/viper", "rev": "a622679ebd7a3b813862379232f645f8e690e43f",
"github.com/kr/pretty", "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"
"github.com/kr/text", }
"github.com/magiconair/properties", },
"golang.org/x/text", {
"github.com/yosssi/ace", "goPackagePath": "github.com/inconshreveable/mousetrap",
"github.com/spf13/nitro", "fetch": {
"github.com/fsnotify/fsnotify" "type": "git",
] "url": "https://github.com/inconshreveable/mousetrap",
} "rev": "9dbb96d2c3a964935b0870b5abaea13c98b483aa",
"sha256": "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"
}
},
{
"goPackagePath": "github.com/kardianos/osext",
"fetch": {
"type": "git",
"url": "https://github.com/kardianos/osext",
"rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc",
"sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"
}
},
{
"goPackagePath": "github.com/hashicorp/hcl",
"fetch": {
"type": "git",
"url": "https://github.com/hashicorp/hcl",
"rev": "54864211433d45cb780682431585b3e573b49e4a",
"sha256": "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950"
}
},
{
"goPackagePath": "github.com/hashicorp/go-multierror",
"fetch": {
"type": "git",
"url": "https://github.com/hashicorp/go-multierror",
"rev": "56912fb08d85084aa318edcf2bba735b97cf35c5",
"sha256": "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r"
}
},
{
"goPackagePath": "github.com/BurntSushi/toml",
"fetch": {
"type": "git",
"url": "https://github.com/BurntSushi/toml",
"rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
"sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
}
},
{
"goPackagePath": "github.com/mitchellh/mapstructure",
"fetch": {
"type": "git",
"url": "https://github.com/mitchellh/mapstructure",
"rev": "281073eb9eb092240d33ef253c404f1cca550309",
"sha256": "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh"
}
},
{
"goPackagePath": "golang.org/x/text",
"fetch": {
"type": "git",
"url": "https://go.googlesource.com/text",
"rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e",
"sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"
}
},
{
"goPackagePath": "github.com/shurcooL/sanitized_anchor_name",
"fetch": {
"type": "git",
"url": "https://github.com/shurcooL/sanitized_anchor_name",
"rev": "10ef21a441db47d8b13ebcc5fd2310f636973c77",
"sha256": "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"
}
},
{
"goPackagePath": "github.com/russross/blackfriday",
"fetch": {
"type": "git",
"url": "https://github.com/russross/blackfriday",
"rev": "d18b67ae0afd61dae240896eae1785f00709aa31",
"sha256": "1l78hz8k1ixry5fjw29834jz1q5ysjcpf6kx2ggjj1s6xh0bfzvf"
}
},
{
"goPackagePath": "github.com/yosssi/ace",
"fetch": {
"type": "git",
"url": "https://github.com/yosssi/ace",
"rev": "71afeb714739f9d5f7e1849bcd4a0a5938e1a70d",
"sha256": "15k7ji8m3nqbwhnsvp82j4qa45sgvwv2giliw2xkdwi2g7mfrn8k"
}
},
{
"goPackagePath": "github.com/spf13/viper",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/viper",
"rev": "c1ccc378a054ea8d4e38d8c67f6938d4760b53dd",
"sha256": "0lpdzalqhqp9pwsg63inkxwjji7m0pp42ryw1499bqbjp97hriq0"
}
},
{
"goPackagePath": "github.com/spf13/pflag",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/pflag",
"rev": "367864438f1b1a3c7db4da06a2f55b144e6784e0",
"sha256": "03c6654hv4v1fj79i5sri3p9q2afqgicka4nicb6fr4kcfkkgbfp"
}
},
{
"goPackagePath": "github.com/spf13/jwalterweatherman",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/jwalterweatherman",
"rev": "33c24e77fb80341fe7130ee7c594256ff08ccc46",
"sha256": "1knvzspqzc2bh58q16zggzc8gcabjp5gr7zk4k7nx5ij4092cg0z"
}
},
{
"goPackagePath": "github.com/fsnotify/fsnotify",
"fetch": {
"type": "git",
"url": "https://github.com/fsnotify/fsnotify",
"rev": "30411dbcefb7a1da7e84f75530ad3abe4011b4f8",
"sha256": "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm"
}
},
{
"goPackagePath": "github.com/magiconair/properties",
"fetch": {
"type": "git",
"url": "https://github.com/magiconair/properties",
"rev": "c265cfa48dda6474e208715ca93e987829f572f8",
"sha256": "1ab9ywwsrdq5mvrcwl7m3276y1q4dfwinbv88vgpqwcqai9wkpp3"
}
},
{
"goPackagePath": "github.com/bep/inflect",
"fetch": {
"type": "git",
"url": "https://github.com/bep/inflect",
"rev": "b896c45f5af983b1f416bdf3bb89c4f1f0926f69",
"sha256": "0drv6in94n7lmap4ajvgqlvdcbpn8alinfdzywzpihvzbx21b3h3"
}
},
{
"goPackagePath": "github.com/eknkc/amber",
"fetch": {
"type": "git",
"url": "https://github.com/eknkc/amber",
"rev": "91774f050c1453128146169b626489e60108ec03",
"sha256": "1rb8bm35h8a77q4py6r3818cpwh7kpq1kh2ib2rb4i5s7z75ciis"
}
},
{
"goPackagePath": "github.com/spf13/afero",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/afero",
"rev": "1a8ecf8b9da1fb5306e149e83128fc447957d2a8",
"sha256": "1nrg0gmqnl4h6zjmi4mdhrwnl3l34nzxpq2hsr3nizfvrx5gqbzw"
}
},
{
"goPackagePath": "github.com/spf13/cast",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/cast",
"rev": "27b586b42e29bec072fe7379259cc719e1289da6",
"sha256": "1y73pfxdvm1bfpghwsfxj8gl4miv6fpzi9azxcknp6rcjn1gmq0x"
}
},
{
"goPackagePath": "github.com/spf13/cobra",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/cobra",
"rev": "bc81c21bd0d8be5ba2d6630a505d79d4467566e7",
"sha256": "1sp8gl25cjx0yibh6q1i8d5rbxpwaal3z8vz372wfmbz002say8r"
}
},
{
"goPackagePath": "github.com/dchest/cssmin",
"fetch": {
"type": "git",
"url": "https://github.com/dchest/cssmin",
"rev": "fb8d9b44afdc258bfff6052d3667521babcb2239",
"sha256": "09sdijfx5d05z4cd5k6lhl7k3kbpdf2amzlngv15h5v0fff9qw4s"
}
},
{
"goPackagePath": "github.com/spf13/fsync",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/fsync",
"rev": "eefee59ad7de621617d4ff085cf768aab4b919b1",
"sha256": "0d56xdczawikyczc12i661qc79dbv4q8ihlj4p20zsjkyxxym59p"
}
},
{
"goPackagePath": "github.com/cpuguy83/go-md2man",
"fetch": {
"type": "git",
"url": "https://github.com/cpuguy83/go-md2man",
"rev": "2724a9c9051aa62e9cca11304e7dd518e9e41599",
"sha256": "1j2bigs7ixy20cdqd246nxr417md2qcyvkfk3x94992cr88d0vyj"
}
},
{
"goPackagePath": "github.com/miekg/mmark",
"fetch": {
"type": "git",
"url": "https://github.com/miekg/mmark",
"rev": "adb5c3e2e9f3e7da9bd25291edda8e66c0045a2a",
"sha256": "0fycz17fj37fh95lfshdrfwrgkzi3hl1kgnily0cxc9zwfbap3qa"
}
},
{
"goPackagePath": "github.com/spf13/nitro",
"fetch": {
"type": "git",
"url": "https://github.com/spf13/nitro",
"rev": "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8",
"sha256": "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib"
}
},
{
"goPackagePath": "github.com/PuerkitoBio/purell",
"fetch": {
"type": "git",
"url": "https://github.com/PuerkitoBio/purell",
"rev": "1d5d1cfad45d42ec5f81fa8ef23de09cebc6dcc3",
"sha256": "12k82576ka21c6572yy2v81kxpjrgf9mffjlz469g3vs0g3nkwlb"
}
},
{
"goPackagePath": "github.com/pkg/sftp",
"fetch": {
"type": "git",
"url": "https://github.com/pkg/sftp",
"rev": "d4c18e7ffdc496a38de67dde6e29b2f364afc472",
"sha256": "0cnl83k317gxskayfj3xwr4bl0vcbjvlwi3q0vjwvircynb6xscj"
}
},
{
"goPackagePath": "github.com/kr/fs",
"fetch": {
"type": "git",
"url": "https://github.com/kr/fs",
"rev": "2788f0dbd16903de03cb8186e5c7d97b69ad387b",
"sha256": "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly"
}
},
{
"goPackagePath": "github.com/kyokomi/emoji",
"fetch": {
"type": "git",
"url": "https://github.com/kyokomi/emoji",
"rev": "17c5e7085c9d59630aa578df67f4469481fbe7a9",
"sha256": "0qs4mi7z1lghiyiw7s2bz5y959wj9ifmhyqh39xwqk69d690jwlp"
}
},
{
"goPackagePath": "github.com/pkg/errors",
"fetch": {
"type": "git",
"url": "https://github.com/pkg/errors",
"rev": "494e70f7620561491c2ca11e185bbef4b70060da",
"sha256": "0a0961ixl67vryhnzyzhai357c9n9a7v3vpkpqrh32spn033gjd9"
}
},
{
"goPackagePath": "github.com/PuerkitoBio/urlesc",
"fetch": {
"type": "git",
"url": "https://github.com/PuerkitoBio/urlesc",
"rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587",
"sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni"
}
}
] ]

View File

@ -1,8 +1,11 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "github.com/nsf/termbox-go",
"packages": [ "fetch": {
"github.com/nsf/termbox-go" "type": "git",
] "url": "https://github.com/nsf/termbox-go",
} "rev": "9aecf65084a5754f12d27508fa2e6ed56851953b",
"sha256": "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"
}
}
] ]

View File

@ -24,7 +24,7 @@
assert stdenv.isLinux; assert stdenv.isLinux;
let let
version = "4.2.9"; version = "4.2.10";
binpath = stdenv.lib.makeBinPath binpath = stdenv.lib.makeBinPath
[ cabextract [ cabextract
@ -57,7 +57,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz"; url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz";
sha256 = "89bb0fd7cce8cf598ebf38cad716b8587eaca5b916d54386fb24b3ff66b48624"; sha256 = "0ws94hgxajaww450q8ivrp28ypv39mashs29ak41faxf29cr097m";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
installPhase = '' installPhase = ''
mkdir -p $out/{bin,share} mkdir -p $out/{bin,share/man/man1}
cp -rv doc/man $out/share/ cp -rv doc/man/*.1 $out/share/man/man1
cp src/timew $out/bin/ cp src/timew $out/bin/
''; '';

View File

@ -1,10 +1,29 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "github.com/mattn/go-runewidth",
"packages": [ "fetch": {
"github.com/mattn/go-colorable", "type": "git",
"github.com/mattn/go-runewidth", "url": "https://github.com/mattn/go-runewidth",
"github.com/schachmat/ingo" "rev": "d6bea18f789704b5f83375793155289da36a3c7f",
] "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"
} }
},
{
"goPackagePath": "github.com/mattn/go-colorable",
"fetch": {
"type": "git",
"url": "https://github.com/mattn/go-colorable",
"rev": "3dac7b4f76f6e17fb39b768b89e3783d16e237fe",
"sha256": "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6"
}
},
{
"goPackagePath": "github.com/schachmat/ingo",
"fetch": {
"type": "git",
"url": "https://github.com/schachmat/ingo",
"rev": "fab41e4e62cbef5d92998746ec25f7e195100f38",
"sha256": "04yfnch7pdabjjqfl2qxjmsaknvp4m1rbjlv8qrpmnqwjkxzx0hb"
}
}
] ]

View File

@ -9,6 +9,16 @@ pythonPackages.buildPythonApplication rec {
sha256 = "1yxgafk1sczg1xi2p6nhrvr3hchp7ydw98n48lp3qzwnryn1kxv8"; sha256 = "1yxgafk1sczg1xi2p6nhrvr3hchp7ydw98n48lp3qzwnryn1kxv8";
}; };
patches = [
# This is necessary to build without a config file.
# It can be safely removed after updating to wikicurses to 1.4
# or when commit 4b944ac339312b642c6dc5d6b5a2f7be7503218f is included
(fetchurl {
url = "https://github.com/ids1024/wikicurses/commit/4b944ac339312b642c6dc5d6b5a2f7be7503218f.patch";
sha256 = "0ii4b0c4hb1zdhcpp4ij908mfy5b8khpm1l7xr7lp314lfhsg9as";
})
];
propagatedBuildInputs = with pythonPackages; [ urwid beautifulsoup4 lxml ]; propagatedBuildInputs = with pythonPackages; [ urwid beautifulsoup4 lxml ];
meta = { meta = {

View File

@ -96,7 +96,7 @@ in stdenv.mkDerivation {
${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled} ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
cp -v "${launchScript}" "$out/bin/chromium" cp -v "${launchScript}" "$out/bin/chromium"
substituteInPlace $out/bin/chromium --replace @out@ $out --replace @sandbox@ $sandbox substituteInPlace $out/bin/chromium --subst-var out --subst-var sandbox
chmod 755 "$out/bin/chromium" chmod 755 "$out/bin/chromium"
ln -sv "${chromium.browser.sandbox}" "$sandbox" ln -sv "${chromium.browser.sandbox}" "$sandbox"

View File

@ -47,7 +47,6 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
configureFlags = configureFlags =
[ "--enable-application=browser" [ "--enable-application=browser"
"--disable-javaxpcom"
"--with-system-jpeg" "--with-system-jpeg"
"--with-system-zlib" "--with-system-zlib"
"--with-system-bz2" "--with-system-bz2"
@ -64,11 +63,9 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
#"--enable-system-cairo" #"--enable-system-cairo"
"--enable-startup-notification" "--enable-startup-notification"
"--enable-content-sandbox" # available since 26.0, but not much info available "--enable-content-sandbox" # available since 26.0, but not much info available
"--disable-content-sandbox-reporter" # keeping disabled for now
"--disable-crashreporter" "--disable-crashreporter"
"--disable-tests" "--disable-tests"
"--disable-necko-wifi" # maybe we want to enable this at some point "--disable-necko-wifi" # maybe we want to enable this at some point
"--disable-installer"
"--disable-updater" "--disable-updater"
"--enable-jemalloc" "--enable-jemalloc"
"--disable-gconf" "--disable-gconf"
@ -135,8 +132,8 @@ in {
firefox-unwrapped = common { firefox-unwrapped = common {
pname = "firefox"; pname = "firefox";
version = "47.0.1"; version = "48.0";
sha512 = "f79c53b9acf0d96917aa11e57092a4e540ce694471123ef8e616e15864195fab7b37235ebd37367e4d0cc8e594a881a30c973075cc97346ef6f88d92944c0312"; sha512 = "51bbb1954920b4d0e49e2834939748e596ed27c09a45adeea2be2cfbd32898dae41f13db17318e9699fa96c41fb50fba9966df1f88deeadc0ae3bdd679bd79c5";
}; };
firefox-esr-unwrapped = common { firefox-esr-unwrapped = common {

View File

@ -15,10 +15,10 @@ buildGoPackage rec {
}; };
postInstall = '' postInstall = ''
# prefix all the plugins with "terraform-" # remove all plugins, they are part of the main binary now
for i in $bin/bin/*; do for i in $bin/bin/*; do
if [[ $(basename $i) != terraform ]]; then if [[ $(basename $i) != terraform ]]; then
mv -v $i $bin/bin/terraform-$(basename $i); rm "$i"
fi fi
done done
''; '';

View File

@ -1,26 +1,164 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "golang.org/x/net",
"packages": [ "fetch": {
"github.com/boltdb/bolt", "type": "git",
"github.com/cheggaaa/pb", "url": "https://go.googlesource.com/net",
"github.com/odeke-em/cli-spinner", "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
"github.com/odeke-em/statos", "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
"golang.org/x/oauth2", }
"github.com/odeke-em/exponential-backoff", },
"github.com/odeke-em/extractor", {
"github.com/odeke-em/meddler", "goPackagePath": "google.golang.org/api",
"github.com/odeke-em/xon", "fetch": {
"github.com/odeke-em/cache", "type": "git",
"github.com/odeke-em/drive", "url": "https://code.googlesource.com/google-api-go-client",
"github.com/odeke-em/command", "rev": "a5c3e2a4792aff40e59840d9ecdff0542a202a80",
"github.com/odeke-em/log", "sha256": "1kigddnbyrl9ddpj5rs8njvf1ck54ipi4q1282k0d6b3am5qfbj8"
"github.com/odeke-em/pretty-words", }
"github.com/skratchdot/open-golang", },
"google.golang.org/cloud", {
"google.golang.org/api", "goPackagePath": "google.golang.org/cloud",
"github.com/mattn/go-isatty", "fetch": {
"golang.org/x/net" "type": "git",
] "url": "https://code.googlesource.com/gocloud",
} "rev": "6335269abf9002cf5a84613c13cda6010842b834",
"sha256": "15xrqxna5ms0r634k3bfzyymn431dvqcjwbsap8ay60x371kzbwf"
}
},
{
"goPackagePath": "golang.org/x/oauth2",
"fetch": {
"type": "git",
"url": "https://go.googlesource.com/oauth2",
"rev": "397fe7649477ff2e8ced8fc0b2696f781e53745a",
"sha256": "0fza0l7iwh6llkq2yzqn7dxi138vab0da64lnghfj1p71fprjzn8"
}
},
{
"goPackagePath": "github.com/mattn/go-isatty",
"fetch": {
"type": "git",
"url": "https://github.com/mattn/go-isatty",
"rev": "ae0b1f8f8004be68d791a576e3d8e7648ab41449",
"sha256": "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj"
}
},
{
"goPackagePath": "github.com/boltdb/bolt",
"fetch": {
"type": "git",
"url": "https://github.com/boltdb/bolt",
"rev": "957d850b5158a4eebf915476058e720f43459584",
"sha256": "193adhhsqdy0kyq1l1fi8pg2n6pwyrw4h607qm78qyi26f8i7vzf"
}
},
{
"goPackagePath": "github.com/cheggaaa/pb",
"fetch": {
"type": "git",
"url": "https://github.com/cheggaaa/pb",
"rev": "e648e12b78cedf14ebb2fc1855033f07b034cfbb",
"sha256": "03k4cars7hcqqgdsd0minfls2p7gjpm8q6y8vknh1s68kvxd4xam"
}
},
{
"goPackagePath": "github.com/odeke-em/cli-spinner",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/cli-spinner",
"rev": "610063bb4aeef25f7645b3e6080456655ec0fb33",
"sha256": "13wzs2qrxd72ah32ym0ppswhvyimjw5cqaq3q153y68vlvxd048c"
}
},
{
"goPackagePath": "github.com/odeke-em/statos",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/statos",
"rev": "f27d6ab69b62abd9d9fe80d355e23a3e45d347d6",
"sha256": "17cpks8bi9i7p8j38x0wy60jb9g39wbzszcmhx4hlq6yzxr04jvs"
}
},
{
"goPackagePath": "github.com/odeke-em/exponential-backoff",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/exponential-backoff",
"rev": "96e25d36ae36ad09ac02cbfe653b44c4043a8e09",
"sha256": "1as21p2jj8xpahvdxqwsw2i1s3fll14dlc9j192iq7xl1ybwpqs6"
}
},
{
"goPackagePath": "github.com/odeke-em/extractor",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/extractor",
"rev": "801861aedb854c7ac5e1329e9713023e9dc2b4d4",
"sha256": "036zmnqxy48h6mxiwywgxix2p4fqvl4svlmcp734ri2rbq3cmxs1"
}
},
{
"goPackagePath": "github.com/odeke-em/meddler",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/meddler",
"rev": "d2b51d2b40e786ab5f810d85e65b96404cf33570",
"sha256": "0m0fqrn3kxy4swyk4ja1y42dn1i35rq9j85y11wb222qppy2342x"
}
},
{
"goPackagePath": "github.com/odeke-em/xon",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/xon",
"rev": "d580be739d723da4f6378083128f93017b8ab295",
"sha256": "07a7zj01d4a23xqp01m48jp2v5mw49islf4nbq2rj13sd5w4s6sc"
}
},
{
"goPackagePath": "github.com/odeke-em/cache",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/cache",
"rev": "b51b08cb6cf889deda6c941a5205baecfd16f3eb",
"sha256": "1rmm1ky7irqypqjkk6qcd2n0xkzpaggdxql9dp9i9qci5rvvwwd4"
}
},
{
"goPackagePath": "github.com/odeke-em/command",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/command",
"rev": "91ca5ec5e9a1bc2668b1ccbe0967e04a349e3561",
"sha256": "1ghckzr8h99ckagpmb15p61xazdjmf9mjmlym634hsr9vcj84v62"
}
},
{
"goPackagePath": "github.com/odeke-em/log",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/log",
"rev": "cad53c4565a0b0304577bd13f3862350bdc5f907",
"sha256": "059c933qjikxlvaywzpzljqnab19svymbv6x32pc7khw156fh48w"
}
},
{
"goPackagePath": "github.com/odeke-em/pretty-words",
"fetch": {
"type": "git",
"url": "https://github.com/odeke-em/pretty-words",
"rev": "9d37a7fcb4ae6f94b288d371938482994458cecb",
"sha256": "1466wjhrg9lhqmzil1vf8qj16fxk32b5kxlcccyw2x6dybqa6pkl"
}
},
{
"goPackagePath": "github.com/skratchdot/open-golang",
"fetch": {
"type": "git",
"url": "https://github.com/skratchdot/open-golang",
"rev": "c8748311a7528d0ba7330d302adbc5a677ef9c9e",
"sha256": "0qhn2d00v3m9fiqk9z7swdm599clc6j7rnli983s8s1byyp0x3ac"
}
}
] ]

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }: , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
let version = "3.20.0"; in let version = "3.20.1"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "filezilla-${version}"; name = "filezilla-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2"; url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "0clfw266c980w2kjl4xm56d80ixpv8lj675p58hv2bz70ihxpwaa"; sha256 = "0bcy0j89y2mpjyzwnz1qa33412n7yl0g8px2r4v7gla25r2x5qwa";
}; };
configureFlags = [ configureFlags = [

View File

@ -4,11 +4,11 @@
, gsm, speex, portaudio, spandsp, libuuid , gsm, speex, portaudio, spandsp, libuuid
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.4.19"; version = "0.4.20";
name = "baresip-${version}"; name = "baresip-${version}";
src=fetchurl { src=fetchurl {
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz"; url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
sha256 = "1ldh3sc4n19vsjfc1f3kbrin7djb1z6y1rkisc5f6zjx4bd6535v"; sha256 = "0m8afbfdc9a57cy94ny7g6jv2ndfmrvkx0lgk64i8w870958gkwb";
}; };
buildInputs = [zlib openssl libre librem pkgconfig buildInputs = [zlib openssl libre librem pkgconfig
cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good

View File

@ -1,20 +1,17 @@
{ stdenv, fetchFromGitHub, pkgconfig, pidgin, json_glib }: { stdenv, fetchFromGitHub, pkgconfig, pidgin, json_glib }:
let
rev = "b92a05c67e";
date = "2015-10-02";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pidgin-skypeweb-${date}-${rev}"; name = "pidgin-skypeweb-${version}";
version = "1.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "EionRobb"; owner = "EionRobb";
repo = "skype4pidgin"; repo = "skype4pidgin";
rev = "${rev}"; rev = "${version}";
sha256 = "00r57w9iwx2yp68ld6f3zkhf53vsk679b42w3xxla6bqblpcxzxl"; sha256 = "0qmqf1r9kc7r6rgzz0byyq7yf5spsl2iima0cvxafs43gn4hnc2z";
}; };
sourceRoot = "skype4pidgin-${rev}-src/skypeweb"; sourceRoot = "skype4pidgin-${version}-src/skypeweb";
buildInputs = [ pkgconfig pidgin json_glib ]; buildInputs = [ pkgconfig pidgin json_glib ];
@ -28,7 +25,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/EionRobb/skype4pidgin; homepage = https://github.com/EionRobb/skype4pidgin;
description = "SkypeWeb Plugin for Pidgin"; description = "SkypeWeb plugin for Pidgin";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ jgeerds ]; maintainers = with maintainers; [ jgeerds ];

View File

@ -1,12 +1,47 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "golang.org/x/crypto",
"packages": [ "fetch": {
"golang.org/x/net", "type": "git",
"github.com/golang/protobuf", "url": "https://go.googlesource.com/crypto",
"github.com/agl/ed25519", "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
"golang.org/x/crypto", "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
"github.com/agl/go-gtk" }
] },
} {
"goPackagePath": "github.com/agl/ed25519",
"fetch": {
"type": "git",
"url": "https://github.com/agl/ed25519",
"rev": "278e1ec8e8a6e017cd07577924d6766039146ced",
"sha256": "165d89cc6dl28j4hkn86pny0jz3sa6hamzdvpvwdj4iha3x6lzc9"
}
},
{
"goPackagePath": "github.com/golang/protobuf",
"fetch": {
"type": "git",
"url": "https://github.com/golang/protobuf",
"rev": "59b73b37c1e45995477aae817e4a653c89a858db",
"sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
}
},
{
"goPackagePath": "golang.org/x/net",
"fetch": {
"type": "git",
"url": "https://go.googlesource.com/net",
"rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
"sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
}
},
{
"goPackagePath": "github.com/agl/go-gtk",
"fetch": {
"type": "git",
"url": "https://github.com/agl/go-gtk",
"rev": "91c1edb38c241d73129e6b098ca1c9fa83abfc15",
"sha256": "156ixlhakpqgyp35rsvmndrqz8aggv5bcmzg9ynpri3b9j6kim4d"
}
}
] ]

View File

@ -31,7 +31,7 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "teamspeak-client-${version}"; name = "teamspeak-client-${version}";
version = "3.0.19.3"; version = "3.0.19.4";
src = fetchurl { src = fetchurl {
urls = [ urls = [
@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run" "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
]; ];
sha256 = if stdenv.is64bit sha256 = if stdenv.is64bit
then "05620qqi8plxsrzj92g306a0l8wg1pd2l66vpmj71vs0f5lms6p4" then "f74617d2a2f5cb78e0ead345e6ee66c93e4a251355779018fd060828e212294a"
else "07b2120pa8nyvnvh48vp5vqq7xlxg6vrrx67azz9kfcdzbbarcv9"; else "e11467dc1732ddc21ec0d86c2853c322af7a6b8307e3e8dfebc6b4b4d7404841";
}; };
# grab the plugin sdk for the desktop icon # grab the plugin sdk for the desktop icon

View File

@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
qt4 openssl xproto libX11 libXScrnSaver scrnsaverproto xz zlib qt4 openssl xproto libX11 libXScrnSaver scrnsaverproto xz zlib
]; ];
# hack: needed to fix build issues in
# http://hydra.nixos.org/build/38322959/nixlog/1
# should be an upstream issue but it's easy to fix
NIX_LDFLAGS = "-lz";
nativeBuildInputs = [ qmake4Hook ]; nativeBuildInputs = [ qmake4Hook ];
preConfigure = '' preConfigure = ''

View File

@ -1,9 +1,20 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "golang.org/x/net",
"packages": [ "fetch": {
"golang.org/x/crypto", "type": "git",
"golang.org/x/net" "url": "https://go.googlesource.com/net",
] "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
} "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
}
},
{
"goPackagePath": "golang.org/x/crypto",
"fetch": {
"type": "git",
"url": "https://go.googlesource.com/crypto",
"rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
"sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
}
}
] ]

View File

@ -1,21 +1,128 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "golang.org/x/crypto",
"packages": [ "fetch": {
"github.com/bkaradzic/go-lz4", "type": "git",
"github.com/calmh/luhn", "url": "https://go.googlesource.com/crypto",
"golang.org/x/text", "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
"github.com/kardianos/osext", "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
"github.com/vitrun/qart", }
"github.com/calmh/du", },
"github.com/calmh/xdr", {
"github.com/juju/ratelimit", "goPackagePath": "golang.org/x/net",
"github.com/thejerf/suture", "fetch": {
"github.com/golang/snappy", "type": "git",
"github.com/rcrowley/go-metrics", "url": "https://go.googlesource.com/net",
"github.com/syndtr/goleveldb", "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
"golang.org/x/crypto", "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
"golang.org/x/net" }
] },
} {
"goPackagePath": "github.com/rcrowley/go-metrics",
"fetch": {
"type": "git",
"url": "https://github.com/rcrowley/go-metrics",
"rev": "1ce93efbc8f9c568886b2ef85ce305b2217b3de3",
"sha256": "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa"
}
},
{
"goPackagePath": "github.com/kardianos/osext",
"fetch": {
"type": "git",
"url": "https://github.com/kardianos/osext",
"rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc",
"sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"
}
},
{
"goPackagePath": "github.com/bkaradzic/go-lz4",
"fetch": {
"type": "git",
"url": "https://github.com/bkaradzic/go-lz4",
"rev": "74ddf82598bc4745b965729e9c6a463bedd33049",
"sha256": "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1"
}
},
{
"goPackagePath": "github.com/calmh/luhn",
"fetch": {
"type": "git",
"url": "https://github.com/calmh/luhn",
"rev": "0c8388ff95fa92d4094011e5a04fc99dea3d1632",
"sha256": "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"
}
},
{
"goPackagePath": "golang.org/x/text",
"fetch": {
"type": "git",
"url": "https://go.googlesource.com/text",
"rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e",
"sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"
}
},
{
"goPackagePath": "github.com/vitrun/qart",
"fetch": {
"type": "git",
"url": "https://github.com/vitrun/qart",
"rev": "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0",
"sha256": "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"
}
},
{
"goPackagePath": "github.com/calmh/du",
"fetch": {
"type": "git",
"url": "https://github.com/calmh/du",
"rev": "3c0690cca16228b97741327b1b6781397afbdb24",
"sha256": "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa"
}
},
{
"goPackagePath": "github.com/calmh/xdr",
"fetch": {
"type": "git",
"url": "https://github.com/calmh/xdr",
"rev": "e467b5aeb65ca8516fb3925c84991bf1d7cc935e",
"sha256": "1bi4b2xkjzcr0vq1wxz14i9943k71sj092dam0gdmr9yvdrg0nra"
}
},
{
"goPackagePath": "github.com/juju/ratelimit",
"fetch": {
"type": "git",
"url": "https://github.com/juju/ratelimit",
"rev": "772f5c38e468398c4511514f4f6aa9a4185bc0a0",
"sha256": "02rs61ay6sq499lxxszjsrxp33m6zklds1xrmnr5fk73vpqfa28p"
}
},
{
"goPackagePath": "github.com/thejerf/suture",
"fetch": {
"type": "git",
"url": "https://github.com/thejerf/suture",
"rev": "99c1f2d613756768fc4299acd9dc621e11ed3fd7",
"sha256": "094ksr2nlxhvxr58nbnzzk0prjskb21r86jmxqjr3rwg4rkwn6d4"
}
},
{
"goPackagePath": "github.com/golang/snappy",
"fetch": {
"type": "git",
"url": "https://github.com/golang/snappy",
"rev": "723cc1e459b8eea2dea4583200fd60757d40097a",
"sha256": "0bprq0qb46f5511b5scrdqqzskqqi2z8b4yh3216rv0n1crx536h"
}
},
{
"goPackagePath": "github.com/syndtr/goleveldb",
"fetch": {
"type": "git",
"url": "https://github.com/syndtr/goleveldb",
"rev": "1a9d62f03ea92815b46fcaab357cfd4df264b1a0",
"sha256": "04ywbif36fiah4fw0x2abr5q3p4fdhi6q57d5icc2mz03q889vhb"
}
}
] ]

View File

@ -22,9 +22,9 @@ let
lib = stdenv.lib; lib = stdenv.lib;
langsSpaces = lib.concatStringsSep " " langs; langsSpaces = lib.concatStringsSep " " langs;
major = "5"; major = "5";
minor = "1"; minor = "2";
patch = "3"; patch = "0";
tweak = "2"; tweak = "4";
subdir = "${major}.${minor}.${patch}"; subdir = "${major}.${minor}.${patch}";
version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@ -50,14 +50,14 @@ let
translations = fetchSrc { translations = fetchSrc {
name = "translations"; name = "translations";
sha256 = "039gjg4295x9f3hj0bh32csp63gbfns1sj7wk5mv51szdz50a8zi"; sha256 = "0a3dnqm9k1skp7jvg354fdn84y0ylvnjzpd4v2r2mbz8vc4p3ld5";
}; };
# TODO: dictionaries # TODO: dictionaries
help = fetchSrc { help = fetchSrc {
name = "help"; name = "help";
sha256 = "0fq9wqzvbs6x003ljvhwbnq7vglzcq3yylndv0kp1mj00dkyz3gm"; sha256 = "1gyakwbbsd3aykf0gsanyg6p4g4qixj1rh6qxspln70afl3kxm90";
}; };
}; };
@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "1i077hz24kz1wmnvw9xicmm1mrr9msdxq4lg3y0hy47ar6kiqnnd"; sha256 = "1v3bbk2afq61gs3l4qvc1r6y0ylr21jzbm3wcnyq9c3bbyw43pj7";
}; };
# Openoffice will open libcups dynamically, so we link it directly # Openoffice will open libcups dynamically, so we link it directly
@ -128,6 +128,13 @@ in stdenv.mkDerivation rec {
sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
# rendering-dependent test # rendering-dependent test
sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
# tilde expansion in path processing checks the existence of $HOME
sed -e 's@rtl::OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
# rendering-dependent: on my computer the test table actually doesn't fit…
# interesting fact: test disabled on macOS by upstream
sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
# Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
''; '';
makeFlags = "SHELL=${bash}/bin/bash"; makeFlags = "SHELL=${bash}/bin/bash";
@ -215,7 +222,6 @@ in stdenv.mkDerivation rec {
"--without-system-hsqldb" "--without-system-hsqldb"
"--without-system-altlinuxhyph" "--without-system-altlinuxhyph"
"--without-system-lpsolve" "--without-system-lpsolve"
"--without-system-npapi-headers"
"--without-system-libetonyek" "--without-system-libetonyek"
"--without-system-libfreehand" "--without-system-libfreehand"
"--without-system-liblangtag" "--without-system-liblangtag"
@ -249,6 +255,10 @@ in stdenv.mkDerivation rec {
] ]
++ lib.optional kdeIntegration kde4.kdelibs; ++ lib.optional kdeIntegration kde4.kdelibs;
passthru = {
inherit srcs;
};
meta = with lib; { meta = with lib; {
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
homepage = http://libreoffice.org/; homepage = http://libreoffice.org/;

View File

@ -33,15 +33,18 @@ while read line; do
*_MD5SUM\ :=*) *_MD5SUM\ :=*)
read tbline; read tbline;
line=${line##* }; line=${line##* };
line=${line##*:=};
if [ "${tbline#*VERSION_MICRO}" != "$tbline" ]; then if [ "${tbline#*VERSION_MICRO}" != "$tbline" ]; then
verline=${tbline##* }; verline=${tbline##* };
read tbline; read tbline;
tbline=${tbline##* }; tbline=${tbline##* };
tbline=${tbline##*:=};
md5=$line md5=$line
name=$tbline; name=$tbline;
name="${name/\$([A-Z]*_VERSION_MICRO)/$verline}" name="${name/\$([A-Z]*_VERSION_MICRO)/$verline}"
else else
tbline=${tbline##* }; tbline=${tbline##* };
tbline=${tbline##*:=};
md5=$line md5=$line
name=$tbline; name=$tbline;
fi fi
@ -50,6 +53,7 @@ while read line; do
;; ;;
*_TARBALL\ :=*) *_TARBALL\ :=*)
line=${line##* }; line=${line##* };
line=${line##*:=};
line="${line#,}" line="${line#,}"
md5=${line:0:32}; md5=${line:0:32};
name=${line:33}; name=${line:33};

View File

@ -4,21 +4,6 @@
md5 = "7a3815b506d064313ba309617b6f5a0b"; md5 = "7a3815b506d064313ba309617b6f5a0b";
brief = true; brief = true;
} }
{
name = "commons-codec-1.6-src.tar.gz";
md5 = "2e482c7567908d334785ce7d69ddfff7";
brief = false;
}
{
name = "commons-httpclient-3.1-src.tar.gz";
md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
brief = false;
}
{
name = "commons-lang-2.4-src.tar.gz";
md5 = "625ff5f2f968dd908bca43c9469d6e6b";
brief = false;
}
{ {
name = "commons-logging-1.2-src.tar.gz"; name = "commons-logging-1.2-src.tar.gz";
md5 = "ce977548f1cbf46918e93cd38ac35163"; md5 = "ce977548f1cbf46918e93cd38ac35163";
@ -35,23 +20,28 @@
brief = true; brief = true;
} }
{ {
name = "boost_1_55_0.tar.bz2"; name = "boost_1_59_0.tar.bz2";
md5 = "d6eef4b4cacb2183f2bf265a5a03a354"; md5 = "6aa9a5c6a4ca1016edd0ed1178e3cb87";
brief = false; brief = true;
} }
{ {
name = "bsh-2.0b5-src.zip"; name = "bsh-2.0b5-src.zip";
md5 = "ec1941a74d3ef513c4ce57a9092b74e1"; md5 = "ec1941a74d3ef513c4ce57a9092b74e1";
brief = false; brief = false;
} }
{
name = "bzip2-1.0.6.tar.gz";
md5 = "00b516f4704d4a7cb50a1d97e6e8e15b";
brief = false;
}
{ {
name = "cairo-1.10.2.tar.gz"; name = "cairo-1.10.2.tar.gz";
md5 = "f101a9e88b783337b20b2e26dfd26d5f"; md5 = "f101a9e88b783337b20b2e26dfd26d5f";
brief = false; brief = false;
} }
{ {
name = "libcdr-0.1.1.tar.bz2"; name = "libcdr-0.1.2.tar.bz2";
md5 = "b33fd0be3befdd1b37777e08ce058bd9"; md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2";
brief = true; brief = true;
} }
{ {
@ -100,18 +90,18 @@
brief = false; brief = false;
} }
{ {
name = "libetonyek-0.1.3.tar.bz2"; name = "libetonyek-0.1.6.tar.bz2";
md5 = "e5947373dd7834f27e93f1636faa419f"; md5 = "77ff46936dcc83670557274e7dd2aa33";
brief = true; brief = true;
} }
{ {
name = "expat-2.1.0.tar.gz"; name = "expat-2.1.1.tar.bz2";
md5 = "dd7dab7a5fea97d2a6a43f511449b7cd"; md5 = "7380a64a8e3a9d66a9887b01d0d7ea81";
brief = false; brief = true;
} }
{ {
name = "Firebird-2.5.2.26540-0.tar.bz2"; name = "Firebird-2.5.4.26856-0.tar.bz2";
md5 = "21154d2004e025c8a3666625b0357bb5"; md5 = "7a17ec9889424b98baa29e001a054434";
brief = true; brief = true;
} }
{ {
@ -130,8 +120,8 @@
brief = false; brief = false;
} }
{ {
name = "dejavu-fonts-ttf-2.34.zip"; name = "dejavu-fonts-ttf-2.35.zip";
md5 = "a4e565e220b5de082c23995e256e3c12"; md5 = "d8b5214d35bcd2bfcb2cffa7795b351d";
brief = false; brief = false;
} }
{ {
@ -185,8 +175,8 @@
brief = false; brief = false;
} }
{ {
name = "glew-1.10.0.zip"; name = "glew-1.12.0.zip";
md5 = "594eb47b4b1210e25438d51825404d5a"; md5 = "3941e9cab2f4f9d8faee3e8d57ae7664";
brief = false; brief = false;
} }
{ {
@ -195,9 +185,14 @@
brief = false; brief = false;
} }
{ {
name = "graphite2-1.2.4.tgz"; name = "glyphy-0.2.0.tar.bz2";
md5 = "2ef839348fe28e3b923bf8cced440227"; md5 = "5d303fb955beb9bf112267316ca9d021";
brief = true; brief = false;
}
{
name = "graphite-minimal-1.3.6.tgz";
md5 = "17df8301bcc459e83f8a8f3aca6183b2";
brief = false;
} }
{ {
name = "harfbuzz-0.9.40.tar.bz2"; name = "harfbuzz-0.9.40.tar.bz2";
@ -220,8 +215,8 @@
brief = false; brief = false;
} }
{ {
name = "icu4c-54_1-src.tgz"; name = "icu4c-56_1-src.tgz";
md5 = "e844caed8f2ca24c088505b0d6271bc0"; md5 = "c4a2d71ff56aec5ebfab2a3f059be99d";
brief = false; brief = false;
} }
{ {
@ -285,13 +280,13 @@
brief = true; brief = true;
} }
{ {
name = "libjpeg-turbo-1.3.1.tar.gz"; name = "libjpeg-turbo-1.4.2.tar.gz";
md5 = "2c3a68129dac443a72815ff5bb374b05"; md5 = "86b0d5f7507c2e6c21c00219162c3c44";
brief = true; brief = true;
} }
{ {
name = "language-subtag-registry-2015-08-04.tar.bz2"; name = "language-subtag-registry-2016-02-10.tar.bz2";
md5 = "bf5986dbfa1c9a0f26cf1b00ed369484"; md5 = "d1e7c55a0383f7d720d3ead0b6117284";
brief = true; brief = true;
} }
{ {
@ -326,8 +321,8 @@
subDir = "libgltf/"; subDir = "libgltf/";
} }
{ {
name = "liblangtag-0.5.1.tar.bz2"; name = "liblangtag-0.5.8.tar.bz2";
md5 = "36271d3fa0d9dec1632029b6d7aac925"; md5 = "aa899eff126216dafe721149fbdb511b";
brief = false; brief = false;
} }
{ {
@ -336,8 +331,8 @@
brief = false; brief = false;
} }
{ {
name = "libxml2-2.9.3.tar.gz"; name = "libxml2-2.9.4.tar.gz";
md5 = "daece17e045f1c107610e137ab50c179"; md5 = "ae249165c173b1ff386ee8ad676815f5";
brief = false; brief = false;
} }
{ {
@ -366,8 +361,8 @@
brief = true; brief = true;
} }
{ {
name = "libmwaw-0.3.5.tar.bz2"; name = "libmwaw-0.3.7.tar.bz2";
md5 = "bdc58bbf89aaaf6d29b3516d96830a06"; md5 = "4a8a53a9d997cf0e2bd208178797dbfb";
brief = true; brief = true;
} }
{ {
@ -381,18 +376,18 @@
brief = false; brief = false;
} }
{ {
name = "neon-0.29.5.tar.gz"; name = "neon-0.30.1.tar.gz";
md5 = "ff369e69ef0f0143beb5626164e87ae2"; md5 = "231adebe5c2f78fded3e3df6e958878e";
brief = false; brief = false;
} }
{ {
name = "nss-3.19.4-with-nspr-4.10.10.tar.gz"; name = "nss-3.22.2-with-nspr-4.12.tar.gz";
md5 = "478e0e90ebc4a90159549e77021021fd"; md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7";
brief = false; brief = false;
} }
{ {
name = "libodfgen-0.1.4.tar.bz2"; name = "libodfgen-0.1.6.tar.bz2";
md5 = "8716be5c22ae8353f9aaa380d74840dc"; md5 = "32572ea48d9021bbd6fa317ddb697abc";
brief = true; brief = true;
} }
{ {
@ -406,14 +401,19 @@
brief = false; brief = false;
} }
{ {
name = "openssl-1.0.2a.tar.gz"; name = "openssl-1.0.2h.tar.gz";
md5 = "a06c547dac9044161a477211049f60ef"; md5 = "9392e65072ce4b614c1392eefc1f23d0";
brief = true; brief = true;
} }
{ {
name = "liborcus-0.7.0.tar.bz2"; name = "liborcus-0.9.2.tar.gz";
md5 = "7681383be6ce489d84c1c74f4e7f9643"; md5 = "e6efcbe50a5fd4d50d513c9a7a4139b0";
brief = false; brief = true;
}
{
name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
md5 = "593f0aa47bf2efc0efda2d28fae063b2";
brief = true;
} }
{ {
name = "libpagemaker-0.0.2.tar.bz2"; name = "libpagemaker-0.0.2.tar.bz2";
@ -426,8 +426,8 @@
brief = false; brief = false;
} }
{ {
name = "libpng-1.5.24.tar.gz"; name = "libpng-1.6.19.tar.gz";
md5 = "6652e428d1d3fc3c6cb1362159b1cf3b"; md5 = "3121bdc77c365a87e054b9f859f421fe";
brief = true; brief = true;
} }
{ {
@ -445,6 +445,11 @@
md5 = "803a75927f8f241ca78633890c798021"; md5 = "803a75927f8f241ca78633890c798021";
brief = true; brief = true;
} }
{
name = "Python-3.5.0.tgz";
md5 = "a56c0c0b45d75a0ec9c6dee933c41c36";
brief = true;
}
{ {
name = "raptor2-2.0.9.tar.gz"; name = "raptor2-2.0.9.tar.gz";
md5 = "4ceb9316488b0ea01acf011023cf7fff"; md5 = "4ceb9316488b0ea01acf011023cf7fff";
@ -461,8 +466,8 @@
brief = false; brief = false;
} }
{ {
name = "librevenge-0.0.2.tar.bz2"; name = "librevenge-0.0.4.tar.bz2";
md5 = "2d4183bf17aea1a71842468a71a68c47"; md5 = "5b9ac52ec77d4d19157cf5962ebc0aea";
brief = true; brief = true;
} }
{ {
@ -491,23 +496,23 @@
brief = false; brief = false;
} }
{ {
name = "libvisio-0.1.1.tar.bz2"; name = "libvisio-0.1.5.tar.bz2";
md5 = "726c1f5be65eb7d649e0d48b63d920e7"; md5 = "cbee198a78b842b2087f32d33c522818";
brief = true; brief = true;
} }
{ {
name = "libwpd-0.10.0.tar.bz2"; name = "libwpd-0.10.1.tar.bz2";
md5 = "0773d79a1f240ef9f4f20242b13c5bb7"; md5 = "79b56bcc349264d686a67994506ad199";
brief = true; brief = true;
} }
{ {
name = "libwpg-0.3.0.tar.bz2"; name = "libwpg-0.3.1.tar.bz2";
md5 = "17da9770cb8b317b7633f9807b32b71a"; md5 = "dfd066658ec9d2fb2262417039a8a1c3";
brief = true; brief = true;
} }
{ {
name = "libwps-0.4.0.tar.bz2"; name = "libwps-0.4.2.tar.bz2";
md5 = "e9162d2566421d9d71b3ad2377a68fd5"; md5 = "8a6c55542ce80203dd6d3b1cba99d4e5";
brief = true; brief = true;
} }
{ {

View File

@ -20,13 +20,18 @@
brief = true; brief = true;
} }
{ {
name = "boost_1_59_0.tar.bz2"; name = "boost_1_60_0.tar.bz2";
md5 = "6aa9a5c6a4ca1016edd0ed1178e3cb87"; md5 = "65a840e1a0b13a558ff19eeb2c4f0cbe";
brief = true; brief = true;
} }
{ {
name = "bsh-2.0b5-src.zip"; name = "breakpad.zip";
md5 = "ec1941a74d3ef513c4ce57a9092b74e1"; md5 = "415ce291aa6f2ee1d5db7b62bf62ade8";
brief = true;
}
{
name = "bsh-2.0b6-src.zip";
md5 = "beeca87be45ec87d241ddd0e1bad80c1";
brief = false; brief = false;
} }
{ {
@ -50,9 +55,9 @@
brief = false; brief = false;
} }
{ {
name = "libcmis-0.5.0.tar.gz"; name = "libcmis-0.5.1.tar.gz";
md5 = "5821b806a98e6c38370970e682ce76e8"; md5 = "3270154f0f40d86fce849b161f914101";
brief = false; brief = true;
} }
{ {
name = "CoinMP-1.7.6.tgz"; name = "CoinMP-1.7.6.tgz";
@ -95,13 +100,13 @@
brief = true; brief = true;
} }
{ {
name = "expat-2.1.0.tar.gz"; name = "expat-2.2.0.tar.bz2";
md5 = "dd7dab7a5fea97d2a6a43f511449b7cd"; md5 = "2f47841c829facb346eb6e3fab5212e2";
brief = false; brief = true;
} }
{ {
name = "Firebird-2.5.4.26856-0.tar.bz2"; name = "Firebird-2.5.5.26952-0.tar.bz2";
md5 = "7a17ec9889424b98baa29e001a054434"; md5 = "b0b5293991fcf07347b38431c80be1d4";
brief = true; brief = true;
} }
{ {
@ -190,13 +195,13 @@
brief = false; brief = false;
} }
{ {
name = "graphite-minimal-1.3.6.tgz"; name = "graphite2-minimal-1.3.8.tgz";
md5 = "17df8301bcc459e83f8a8f3aca6183b2"; md5 = "4311dd9ace498b57c85f611e0670df64";
brief = false; brief = false;
} }
{ {
name = "harfbuzz-0.9.40.tar.bz2"; name = "harfbuzz-1.2.6.tar.bz2";
md5 = "0e27e531f4c4acff601ebff0957755c2"; md5 = "9f4b6831c86135faef011e991f59f77f";
brief = true; brief = true;
} }
{ {
@ -205,8 +210,8 @@
brief = false; brief = false;
} }
{ {
name = "hunspell-1.3.3.tar.gz"; name = "hunspell-1.4.1.tar.gz";
md5 = "4967da60b23413604c9e563beacc63b4"; md5 = "33d370f7fe5a030985e445a5672b2067";
brief = false; brief = false;
} }
{ {
@ -215,8 +220,8 @@
brief = false; brief = false;
} }
{ {
name = "icu4c-56_1-src.tgz"; name = "icu4c-57_1-src.tgz";
md5 = "c4a2d71ff56aec5ebfab2a3f059be99d"; md5 = "976734806026a4ef8bdd17937c8898b9";
brief = false; brief = false;
} }
{ {
@ -326,18 +331,18 @@
brief = false; brief = false;
} }
{ {
name = "xmlsec1-1.2.14.tar.gz"; name = "xmlsec1-1.2.20.tar.gz";
md5 = "1f24ab1d39f4a51faf22244c94a6203f"; md5 = "ce12af00283eb90d9281956524250d6e";
brief = false; brief = false;
} }
{ {
name = "libxml2-2.9.3.tar.gz"; name = "libxml2-2.9.4.tar.gz";
md5 = "daece17e045f1c107610e137ab50c179"; md5 = "ae249165c173b1ff386ee8ad676815f5";
brief = false; brief = false;
} }
{ {
name = "libxslt-1.1.28.tar.gz"; name = "libxslt-1.1.29.tar.gz";
md5 = "9667bf6f9310b957254fdcf6596600b7"; md5 = "a129d3c44c022de3b9dcf6d6f288d72e";
brief = false; brief = false;
} }
{ {
@ -351,8 +356,13 @@
brief = false; brief = false;
} }
{ {
name = "mdds_0.12.1.tar.bz2"; name = "mdds-1.2.0.tar.bz2";
md5 = "ef2560ed5416652a7fe195305b14cebe"; md5 = "9f3383fb7bae825eab69f3a6ec1d74b2";
brief = true;
}
{
name = "mDNSResponder-576.30.4.tar.gz";
md5 = "940057ac8b513b00e8e9ca12ef796762";
brief = true; brief = true;
} }
{ {
@ -401,13 +411,13 @@
brief = false; brief = false;
} }
{ {
name = "openssl-1.0.2g.tar.gz"; name = "openssl-1.0.2h.tar.gz";
md5 = "f3c710c045cdee5fd114feb69feba7aa"; md5 = "9392e65072ce4b614c1392eefc1f23d0";
brief = true; brief = true;
} }
{ {
name = "liborcus-0.9.2.tar.gz"; name = "liborcus-0.11.2.tar.gz";
md5 = "e6efcbe50a5fd4d50d513c9a7a4139b0"; md5 = "205badaee72adf99422add8c4c49d669";
brief = true; brief = true;
} }
{ {
@ -416,8 +426,8 @@
brief = true; brief = true;
} }
{ {
name = "libpagemaker-0.0.2.tar.bz2"; name = "libpagemaker-0.0.3.tar.bz2";
md5 = "795cc7a59ace4db2b12586971d668671"; md5 = "5c4985a68be0b79d3f809da5e12b143c";
brief = true; brief = true;
} }
{ {
@ -490,11 +500,6 @@
md5 = "0168229624cfac409e766913506961a8"; md5 = "0168229624cfac409e766913506961a8";
brief = false; brief = false;
} }
{
name = "vigra1.6.0.tar.gz";
md5 = "d62650a6f908e85643e557a236ea989c";
brief = false;
}
{ {
name = "libvisio-0.1.5.tar.bz2"; name = "libvisio-0.1.5.tar.bz2";
md5 = "cbee198a78b842b2087f32d33c522818"; md5 = "cbee198a78b842b2087f32d33c522818";
@ -511,8 +516,8 @@
brief = true; brief = true;
} }
{ {
name = "libwps-0.4.2.tar.bz2"; name = "libwps-0.4.3.tar.bz2";
md5 = "8a6c55542ce80203dd6d3b1cba99d4e5"; md5 = "027fb17fb9e43553aa6624dc18f830ac";
brief = true; brief = true;
} }
{ {

View File

@ -22,9 +22,9 @@ let
lib = stdenv.lib; lib = stdenv.lib;
langsSpaces = lib.concatStringsSep " " langs; langsSpaces = lib.concatStringsSep " " langs;
major = "5"; major = "5";
minor = "0"; minor = "1";
patch = "6"; patch = "5";
tweak = "3"; tweak = "2";
subdir = "${major}.${minor}.${patch}"; subdir = "${major}.${minor}.${patch}";
version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@ -50,14 +50,14 @@ let
translations = fetchSrc { translations = fetchSrc {
name = "translations"; name = "translations";
sha256 = "0ir97k91p3dxxs85ld1vyxcx7s63w678h9njbmw4y3mpp9f28y8c"; sha256 = "1mzsz9pd2k1lpvwf7r5q90qmdp57160362cmlxaj6bxz52gr9f2i";
}; };
# TODO: dictionaries # TODO: dictionaries
help = fetchSrc { help = fetchSrc {
name = "help"; name = "help";
sha256 = "06qwdmdb086852qs6fzb3mm1wixkkkkg39njpvqsrfbdrr2amdjc"; sha256 = "1qqpggcanchz0qqasc5xvginrpa5rx7ahj3dw2vk7n34xaarnni6";
}; };
}; };
@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "1izc1ynfzg36jyi1ms5lmz9rl5lhlxa8qfa4bg7j2qlf65wdf0a6"; sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x";
}; };
# Openoffice will open libcups dynamically, so we link it directly # Openoffice will open libcups dynamically, so we link it directly
@ -249,6 +249,10 @@ in stdenv.mkDerivation rec {
] ]
++ lib.optional kdeIntegration kde4.kdelibs; ++ lib.optional kdeIntegration kde4.kdelibs;
passthru = {
inherit srcs;
};
meta = with lib; { meta = with lib; {
description = "Comprehensive, professional-quality productivity suite (Still/stable release)"; description = "Comprehensive, professional-quality productivity suite (Still/stable release)";
homepage = http://libreoffice.org/; homepage = http://libreoffice.org/;

View File

@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib ]; buildInputs = [ zlib ];
preBuild = '' makeFlags = [
makeFlagsArray=("HSTDIR=${htslib}" "prefix=$out") "HSTDIR=${htslib}"
''; "prefix=$out"
"CC=cc"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tools for manipulating BCF2/VCF/gVCF format, SNP and short indel sequence variants"; description = "Tools for manipulating BCF2/VCF/gVCF format, SNP and short indel sequence variants";

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "abc-verifier-${version}"; name = "abc-verifier-${version}";
version = "20150614"; version = "20160813";
src = fetchhg { src = fetchhg {
url = "https://bitbucket.org/alanmi/abc"; url = "https://bitbucket.org/alanmi/abc";
rev = "38661894bc1287cad9bd35978bd252dbfe3e6c56"; rev = "1df0b06d7bf615c50014df0952a61e11891ee306";
sha256 = "04v0hkvj501r10pj3yrqrk2463d1d7lhl8dzfjwkmlbmlmpjlvvv"; sha256 = "0i0b9i2gs0y1q8nqnqyzfbff8aiknzja27m383nvccxscvg355z5";
}; };
buildInputs = [ readline ]; buildInputs = [ readline ];

View File

@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib boost ]; buildInputs = [ zlib boost ];
patchPhase = ''
substituteInPlace Makefile \
--replace "GCC = g++" "GCC = c++"
'';
preBuild = '' preBuild = ''
cp ${glucose.src} patches/glucose-syrup.tgz cp ${glucose.src} patches/glucose-syrup.tgz
./bootstrap.sh ./bootstrap.sh

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "2.2.2"; version = "2.2.2";
# The current version of LiE is 2.2.2, which is more or less unchanged # The current version of LiE is 2.2.2, which is more or less unchanged
# since about the year 2000. Minor bugfixes do get applied now and then. # since about the year 2000. Minor bugfixes do get applied now and then.
name = "LiE-${version}"; name = "lie-${version}";
meta = { meta = {
description = "A Computer algebra package for Lie group computations"; description = "A Computer algebra package for Lie group computations";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
characteristics, we refer to the following sources of information. characteristics, we refer to the following sources of information.
''; # take from the website ''; # take from the website
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.linux;
maintainers = [ ]; # this package is probably not going to change anyway maintainers = [ ]; # this package is probably not going to change anyway
}; };

View File

@ -0,0 +1,58 @@
{ stdenv, fetchurl, jre, makeDesktopItem, makeWrapper }:
stdenv.mkDerivation rec {
name = "geogebra-${version}";
version = "5.0.265.0";
preferLocalBuild = true;
src = fetchurl {
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
sha256 = "74e5abfa098ee0fc464cd391cd3ef6db474ff25e8ea4fbcd82c4b4b5d3d5c459";
};
srcIcon = fetchurl {
url = "http://static.geogebra.org/images/geogebra-logo.svg";
sha256 = "55ded6b5ec9ad382494f858d8ab5def0ed6c7d529481cd212863b2edde3b5e07";
};
desktopItem = makeDesktopItem {
name = "geogebra";
exec = "geogebra";
icon = "geogebra";
desktopName = "Geogebra";
genericName = "Geogebra";
comment = meta.description;
categories = "Education;Science;Math;";
mimeType = "application/vnd.geogebra.file;application/vnd.geogebra.tool;";
};
buildInputs = [ makeWrapper ];
installPhase = ''
install -D geogebra/* -t "$out/libexec/geogebra/"
makeWrapper "$out/libexec/geogebra/geogebra" "$out/bin/geogebra" \
--set JAVACMD "${jre}/bin/java" \
--set GG_PATH "$out/libexec/geogebra"
install -Dm644 "${desktopItem}/share/applications/"* \
-t $out/share/applications/
install -Dm644 "${srcIcon}" \
"$out/share/icons/hicolor/scalable/apps/geogebra.svg"
'';
meta = with stdenv.lib; {
description = "Dynamic mathematics software with graphics, algebra and spreadsheets";
longDescription = ''
Dynamic mathematics software for all levels of education that brings
together geometry, algebra, spreadsheets, graphing, statistics and
calculus in one easy-to-use package.
'';
homepage = https://www.geogebra.org/;
license = with licenses; [ gpl3 cc-by-nc-sa-30 geogebra ];
platforms = platforms.all;
hydraPlatforms = [];
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, gmp, readline }: { stdenv, fetchurl, gmp, readline }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.7.5"; version = "2.7.6";
name = "pari-${version}"; name = "pari-${version}";
src = fetchurl { src = fetchurl {
url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz"; url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
sha256 = "0c8l83a0gjq73r9hndsrzkypwxvnnm4pxkkzbg6jm95m80nzwh11"; sha256 = "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr";
}; };
buildInputs = [gmp readline]; buildInputs = [gmp readline];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, m4, perl, gfortran, texLive, ffmpeg, tk { stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk
, imagemagick, liblapack, python, openssl, libpng , imagemagick, liblapack, python, openssl, libpng
, which , which
}: }:
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9"; sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
}; };
buildInputs = [ m4 perl gfortran texLive ffmpeg tk imagemagick liblapack buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg tk imagemagick liblapack
python openssl libpng which]; python openssl libpng which];
patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ]; patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
@ -25,9 +25,12 @@ stdenv.mkDerivation rec {
export HOME=$out/sageHome export HOME=$out/sageHome
''; '';
preBuild = "patchShebangs build";
installPhase = ''DESTDIR=$out make install''; installPhase = ''DESTDIR=$out make install'';
meta = { meta = {
broken = true;
homepage = "http://www.sagemath.org"; homepage = "http://www.sagemath.org";
description = "A free open source mathematics software system"; description = "A free open source mathematics software system";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;

View File

@ -1,16 +1,16 @@
{stdenv, fetchurl, wxGTK, perl, python, zlib}: {stdenv, fetchurl, wxGTK, perl, python, zlib, mesa, libX11}:
let let
s = # Generated upstream information s = # Generated upstream information
rec { rec {
baseName="golly"; baseName="golly";
version="2.7"; version="2.8";
name="${baseName}-${version}"; name="${baseName}-${version}";
hash="0wfr9dhdbwg2cbcl7g2s1h9pmsm1lkjncbs9m0df82bcw516xs2f"; hash="0a4vn2hm7h4b47v2iwip1z3n9y8isf79v08aipl2iqms2m3p5204";
url="mirror://sourceforge/project/golly/golly/golly-2.7/golly-2.7-src.tar.gz"; url="mirror://sourceforge/project/golly/golly/golly-2.8/golly-2.8-src.tar.gz";
sha256="0wfr9dhdbwg2cbcl7g2s1h9pmsm1lkjncbs9m0df82bcw516xs2f"; sha256="0a4vn2hm7h4b47v2iwip1z3n9y8isf79v08aipl2iqms2m3p5204";
}; };
buildInputs = [ buildInputs = [
wxGTK perl python zlib wxGTK perl python zlib mesa libX11
]; ];
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View File

@ -1,4 +1,4 @@
url http://sourceforge.net/projects/golly/files/golly/ url http://sourceforge.net/projects/golly/files/golly/
version_link '[-][0-9.]+/$' version_link '[-][0-9.]+/$'
SF_version_tarball SF_version_tarball 'src'
SF_redirect SF_redirect

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "diff-so-fancy-${version}"; name = "diff-so-fancy-${version}";
version = "0.10.1"; version = "0.11.1";
# perl is needed here so patchShebangs can do its job # perl is needed here so patchShebangs can do its job
buildInputs = [perl makeWrapper]; buildInputs = [perl makeWrapper];
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "so-fancy"; owner = "so-fancy";
repo = "diff-so-fancy"; repo = "diff-so-fancy";
rev = "v${version}"; rev = "v${version}";
sha256 = "0wp5civn70jzil1gbygx6ccrxfrmc8xx90v7zgf36rqi2yhvv64m"; sha256 = "1dw32c5i9mry6zr2a6h1369fhp1qbqimx04qgdmdnmn1imyck1h3";
}; };
buildPhase = null; buildPhase = null;
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
# itself, so we are copying executable to lib, and only symlink it # itself, so we are copying executable to lib, and only symlink it
# from bin/ # from bin/
cp diff-so-fancy $out/lib/diff-so-fancy cp diff-so-fancy $out/lib/diff-so-fancy
cp -r lib $out/lib/diff-so-fancy cp -r libexec $out/lib/diff-so-fancy
ln -s $out/lib/diff-so-fancy/diff-so-fancy $out/bin ln -s $out/lib/diff-so-fancy/diff-so-fancy $out/bin
# ncurses is needed for `tput` # ncurses is needed for `tput`

View File

@ -1,9 +1,20 @@
[ [
{ {
"include": "../../libs.json", "goPackagePath": "github.com/pquerna/ffjson",
"packages": [ "fetch": {
"github.com/pquerna/ffjson", "type": "git",
"gopkg.in/kothar/go-backblaze.v0" "url": "https://github.com/pquerna/ffjson",
] "rev": "674bc015b5b3f50f9bb2561179778586b9af68c5",
} "sha256": "0l53q7b1g25hfjm1iyynfs413rpav4c51yvdr244ivw1x3hksa7a"
}
},
{
"goPackagePath": "gopkg.in/kothar/go-backblaze.v0",
"fetch": {
"type": "git",
"url": "https://gopkg.in/kothar/go-backblaze.v0",
"rev": "373819725fc560fa962c6cd883b533d2ebec4844",
"sha256": "1kmlwfnnfd4h46bb9pz2gw1hxqm1pzkwvidfmnc0zkrilaywk6fx"
}
}
] ]

View File

@ -0,0 +1,34 @@
{ stdenv, fetchurl, fetchFromGitHub }:
let version = "1.04"; in
stdenv.mkDerivation {
name = "yadm-${version}";
src = fetchFromGitHub {
owner = "TheLocehiliosan";
repo = "yadm";
rev = "${version}";
sha256 = "1g5nz4y63ccxlbz67klm78525ps41ynis8683iayakg4907vd898";
};
buildCommand = ''
mkdir -p $out/bin
mkdir -p $out/share/man/man1
sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
chmod 755 $out/bin/yadm
install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
'';
meta = {
homepage = "https://github.com/TheLocehiliosan/yadm";
description = "Yet Another Dotfiles Manager";
longDescription = ''
yadm is a dotfile management tool with 3 main features: Manages files across
systems using a single Git repository. Provides a way to use alternate files on
a specific OS or host. Supplies a method of encrypting confidential data so it
can safely be stored in your repository.
'';
licence = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -12,7 +12,7 @@ let
stage1Dir = "lib/rkt/stage1-images"; stage1Dir = "lib/rkt/stage1-images";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "1.11.0"; version = "1.12.0";
name = "rkt-${version}"; name = "rkt-${version}";
BUILDDIR="build-${name}"; BUILDDIR="build-${name}";
@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
rev = "v${version}"; rev = "v${version}";
owner = "coreos"; owner = "coreos";
repo = "rkt"; repo = "rkt";
sha256 = "05lm9grckbyjmv1292v00vw4h3nv6r7gmq04zhahcjyw7crx06sv"; sha256 = "0fkjhmssxyx2q699zcif5fvnpcs50l9pqrvy680dw670wsl3b7s7";
}; };
stage1BaseImage = fetchurl { stage1BaseImage = fetchurl {

View File

@ -3,7 +3,7 @@
, GConf, libXdamage, damageproto, libxml2, libxslt, glibmm , GConf, libXdamage, damageproto, libxml2, libxslt, glibmm
, metacity , metacity
, libstartup_notification, libpthreadstubs, libxcb, intltool , libstartup_notification, libpthreadstubs, libxcb, intltool
, ORBit2, libXau , ORBit2, libXau, libICE, libSM
, dbus, dbus_glib, librsvg, mesa , dbus, dbus_glib, librsvg, mesa
, libXdmcp, libnotify, python , libXdmcp, libnotify, python
, hicolor_icon_theme, libjpeg_turbo, libsigcxx, protobuf, pygtk, pythonDBus , hicolor_icon_theme, libjpeg_turbo, libsigcxx, protobuf, pygtk, pythonDBus
@ -15,18 +15,18 @@ let
s = # Generated upstream information s = # Generated upstream information
rec { rec {
baseName="compiz"; baseName="compiz";
version="0.9.12.2"; version="0.9.13.0";
name="${baseName}-${version}"; name="${baseName}-${version}";
hash="107cv8jm7nl0lbkj2y7878lmv1pd6blra68fg10cgb7xdngaq5w9"; hash="00m73im5kdpbfjg9ryzxnab5qvx5j51gxwr3wzimkrcbax6vb3ph";
url="https://launchpad.net/compiz/0.9.12/0.9.12.2/+download/compiz-0.9.12.2.tar.bz2"; url="https://launchpad.net/compiz/0.9.13/0.9.13.0/+download/compiz-0.9.13.0.tar.bz2";
sha256="107cv8jm7nl0lbkj2y7878lmv1pd6blra68fg10cgb7xdngaq5w9"; sha256="00m73im5kdpbfjg9ryzxnab5qvx5j51gxwr3wzimkrcbax6vb3ph";
}; };
buildInputs = [cmake pkgconfig buildInputs = [cmake pkgconfig
libXrender renderproto gtk libwnck pango cairo libXrender renderproto gtk libwnck pango cairo
GConf libXdamage damageproto libxml2 libxslt glibmm libstartup_notification GConf libXdamage damageproto libxml2 libxslt glibmm libstartup_notification
metacity metacity
libpthreadstubs libxcb intltool libpthreadstubs libxcb intltool
ORBit2 libXau ORBit2 libXau libICE libSM
dbus dbus_glib librsvg mesa dbus dbus_glib librsvg mesa
libXdmcp libnotify python libXdmcp libnotify python
hicolor_icon_theme libjpeg_turbo libsigcxx protobuf pygtk pythonDBus hicolor_icon_theme libjpeg_turbo libsigcxx protobuf pygtk pythonDBus

View File

@ -290,34 +290,49 @@ rec {
# Sage mirrors (http://www.sagemath.org/mirrors.html) # Sage mirrors (http://www.sagemath.org/mirrors.html)
sagemath = [ sagemath = [
http://boxen.math.washington.edu/home/sagemath/sage-mirror/src/ # Africa
http://echidna.maths.usyd.edu.au/sage/src/ http://sagemath.polytechnic.edu.na/src/
http://ftp.iitm.ac.in/sage/src/ ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/src/
http://sagemath.mirror.ac.za/src/
https://ftp.leg.uct.ac.za/pub/packages/sage/src/
http://mirror.ufs.ac.za/sagemath/src/
# America, North
http://mirrors-usa.go-parts.com/sage/sagemath/src/
http://mirrors.mit.edu/sage/src/
http://www.cecm.sfu.ca/sage/src/
http://files.sagemath.org/src/
http://mirror.clibre.uqam.ca/sage/src/
https://mirrors.xmission.com/sage/src/
# America, South
http://sagemath.c3sl.ufpr.br/src/
http://linorg.usp.br/sage/
# Asia
http://sage.asis.io/src/
http://mirror.hust.edu.cn/sagemath/src/
https://ftp.iitm.ac.in/sage/src/
http://ftp.kaist.ac.kr/sage/src/ http://ftp.kaist.ac.kr/sage/src/
http://ftp.riken.jp/sagemath/src/ http://ftp.riken.jp/sagemath/src/
https://mirrors.tuna.tsinghua.edu.cn/sagemath/src/
https://mirrors.ustc.edu.cn/sagemath/src/
http://ftp.tsukuba.wide.ad.jp/software/sage/src/ http://ftp.tsukuba.wide.ad.jp/software/sage/src/
http://jambu.spms.ntu.edu.sg/sage/src/ http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/src/
http://linorg.usp.br/sage/src/ https://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
http://mirror.aarnet.edu.au/pub/sage/src/
http://mirror.clibre.uqam.ca/sage/src/ # Australia
http://mirror.hust.edu.cn/sagemath/src/ http://echidna.maths.usyd.edu.au/sage/src/
http://mirror.switch.ch/mirror/sagemath/src/
http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/ # Europe
http://mirrors.fe.up.pt/pub/sage/src/
http://mirrors.hustunique.com/sagemath/src/
http://mirrors.ustc.edu.cn/sagemath/src/
http://mirrors.xmission.com/sage/src/
http://sage.asis.io/src/
http://sage.mirror.garr.it/mirrors/sage/src/ http://sage.mirror.garr.it/mirrors/sage/src/
http://sage.yasar.edu.tr/src/
http://sagemath.c3sl.ufpr.br/src/
http://sagemath.polytechnic.edu.na/src/
http://sunsite.rediris.es/mirror/sagemath/src/ http://sunsite.rediris.es/mirror/sagemath/src/
http://mirror.switch.ch/mirror/sagemath/src/
http://mirrors.fe.up.pt/pub/sage/src/
http://www-ftp.lip6.fr/pub/math/sagemath/src/ http://www-ftp.lip6.fr/pub/math/sagemath/src/
http://www.mirrorservice.org/sites/www.sagemath.org/src/ http://ftp.ntua.gr/pub/sagemath/src/
# Old versions # Old versions
http://www.cecm.sfu.ca/sage/src/
http://sagemath.org/src-old/ http://sagemath.org/src-old/
]; ];

View File

@ -7,7 +7,7 @@ mkdir $out/nix-support
# Force gcc to use ld-wrapper.sh when calling ld. # Force gcc to use ld-wrapper.sh when calling ld.
cflagsCompile="-B$out/bin/" cflagsCompile="-B$out/bin/"
if test -z "$nativeLibc"; then if test -z "$nativeLibc" -a -n "$libc"; then
cflagsCompile="$cflagsCompile -B$gccLibs/lib -B$libc/lib/ -isystem $libc/include" cflagsCompile="$cflagsCompile -B$gccLibs/lib -B$libc/lib/ -isystem $libc/include"
ldflags="$ldflags -L$libc/lib" ldflags="$ldflags -L$libc/lib"
# Get the proper dynamic linker for glibc and uclibc. # Get the proper dynamic linker for glibc and uclibc.

View File

@ -9,7 +9,7 @@ SF_version_dir () {
} }
SF_version_tarball () { SF_version_tarball () {
version_link '[.]tar[.].*/download$' version_link "${1:-[.]tar[.]}.*/download\$"
} }
GH_latest () { GH_latest () {

View File

@ -1124,6 +1124,32 @@ rec {
unifiedSystemDir = true; unifiedSystemDir = true;
}; };
fedora24i386 = {
name = "fedora-24-i386";
fullName = "Fedora 24 (i386)";
packagesList = fetchurl rec {
url = "mirror://fedora/linux/releases/24/Everything/i386/os/repodata/${sha256}-primary.xml.gz";
sha256 = "6928e251628da7a74b79180739a43784e534eaa744ba4bcb18c847dff541f344";
};
urlPrefix = mirror://fedora/linux/releases/24/Everything/i386/os;
archs = ["noarch" "i386" "i586" "i686"];
packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
unifiedSystemDir = true;
};
fedora24x86_64 = {
name = "fedora-24-x86_64";
fullName = "Fedora 24 (x86_64)";
packagesList = fetchurl rec {
url = "mirror://fedora/linux/releases/24/Everything/x86_64/os/repodata/${sha256}-primary.xml.gz";
sha256 = "8dcc989396ed27fadd252ba9b655019934bc3d9915f186f1f2f27e71eba7b42f";
};
urlPrefix = mirror://fedora/linux/releases/24/Everything/x86_64/os;
archs = ["noarch" "x86_64"];
packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
unifiedSystemDir = true;
};
opensuse103i386 = { opensuse103i386 = {
name = "opensuse-10.3-i586"; name = "opensuse-10.3-i586";
fullName = "openSUSE 10.3 (i586)"; fullName = "openSUSE 10.3 (i586)";

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "baekmuk-ttf-2.2"; name = "baekmuk-ttf-2.2";
src = fetchurl { src = fetchurl {
url = "http://kldp.net/frs/download.php/1429/${name}.tar.gz"; url = "http://kldp.net/baekmuk/release/865-${name}.tar.gz";
sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882"; sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882";
}; };

View File

@ -1,10 +1,6 @@
{stdenv, fetchurl, unzip, lib }: {stdenv, fetchurl, unzip, lib }:
let let
fonts = { fonts = {
aegean = { version = "8.00"; file = "Aegean.zip"; sha256 = "0jhj4i0262f4zbm979fm01rnvc91a00kwkbcgvzs281256g2ciny";
description = "Scripts and symbols of the Aegean world"; };
textfonts = { version = "6.00"; file = "Textfonts.zip"; sha256 = "06igp3hdql0yfaj9h2ahh5n7yvj2ni7rj2jdmz534f9618l8qi6r";
description = "Fonts based on early Greek editions"; };
symbola = { version = "9.00"; file = "Symbola.zip"; sha256 = "0d9zrlvzh8inhr17p99banr0dmrvkwxbk3q7zhqqx2z4gf2yavc5"; symbola = { version = "9.00"; file = "Symbola.zip"; sha256 = "0d9zrlvzh8inhr17p99banr0dmrvkwxbk3q7zhqqx2z4gf2yavc5";
description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; }; description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; };
aegyptus = { version = "6.00"; file = "Aegyptus.zip"; sha256 = "10mr54ja9b169fhqfkrw510jybghrpjx7a8a7m38k5v39ck8wz6v"; aegyptus = { version = "6.00"; file = "Aegyptus.zip"; sha256 = "10mr54ja9b169fhqfkrw510jybghrpjx7a8a7m38k5v39ck8wz6v";
@ -21,6 +17,14 @@ let
description = "Musical Notation"; }; description = "Musical Notation"; };
analecta = { version = "5.00"; file = "Analecta.zip"; sha256 = "0rphylnz42fqm1zpx5jx60k294kax3sid8r2hx3cbxfdf8fnpb1f"; analecta = { version = "5.00"; file = "Analecta.zip"; sha256 = "0rphylnz42fqm1zpx5jx60k294kax3sid8r2hx3cbxfdf8fnpb1f";
description = "Coptic, Gothic, Deseret"; }; description = "Coptic, Gothic, Deseret"; };
# the following are also available from http://users.teilar.gr/~g1951d/
# but not yet packaged:
# - Aroania
# - Anaktoria
# - Alexander
# - Avdira
# - Asea
# - Aegean
}; };
mkpkg = name_: {version, file, sha256, description}: mkpkg = name_: {version, file, sha256, description}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View File

@ -2,16 +2,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tzdata-${version}"; name = "tzdata-${version}";
version = "2016e"; version = "2016f";
srcs = srcs =
[ (fetchurl { [ (fetchurl {
url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz"; url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
sha256 = "10dxnv6mwpm1rbv0dp7fhih4jd7lvqgmw7x2gy6h9i4dy6czh05s"; sha256 = "1c024mg4gy572vgdj9rk4dqnb33iap06zs8ibasisbyi1089b37d";
}) })
(fetchurl { (fetchurl {
url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz"; url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
sha256 = "17j5z894cfnid3dhh8y934hn86pvxz2ym672s1bhdag8spyc9n2p"; sha256 = "1vb6n29ik7dzhffzzcnskbhmn6h1dxzan3zanbp118wh8hw5yckj";
}) })
]; ];

View File

@ -1,11 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: rec { fetchurl: {
major = "3.20"; name = "evolution-3.20.5";
name = "evolution-${major}.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evolution/${major}/${name}.tar.xz"; url = mirror://gnome/sources/evolution/3.20/evolution-3.20.5.tar.xz;
sha256 = "1g1nai6jz0irz94d06vx8gbwbzdp7r53qjxvjfhdqhlhnhy76a9c"; sha256 = "2e13551ce0996963506f0bdde5e01c3b8aa0622849a272ff12877cd595baeb6e";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gnome-maps-3.20.1"; name = "gnome-maps-3.20.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gnome-maps/3.20/gnome-maps-3.20.1.tar.xz; url = mirror://gnome/sources/gnome-maps/3.20/gnome-maps-3.20.2.tar.xz;
sha256 = "4874d10a3cfdffd5d1db6084d67b5e8dc8c2db2ff995302b80060ecfc5e99bd5"; sha256 = "e860144795339fdbb2f1239c4db092ad12beb9acaa3f3f8aa1d935c36d86bc3f";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gnome-photos-3.20.2"; name = "gnome-photos-3.20.3";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gnome-photos/3.20/gnome-photos-3.20.2.tar.xz; url = mirror://gnome/sources/gnome-photos/3.20/gnome-photos-3.20.3.tar.xz;
sha256 = "ec6b95ad1c4aeeb065a65d2d48335036c0750761c7f6762bafcf874791272b46"; sha256 = "d1dd8bd8178dd1d0120abd2ff3e959fb1199f4e1751558f925ce7f1278548996";
}; };
} }

View File

@ -1,11 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: rec { fetchurl: {
major = "3.20"; name = "evolution-data-server-3.20.5";
name = "evolution-data-server-${major}.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${major}/${name}.tar.xz"; url = mirror://gnome/sources/evolution-data-server/3.20/evolution-data-server-3.20.5.tar.xz;
sha256 = "03h81dnk34b3xf2065rymr1jd7as4dmpd89hyf380c5np36f6l7j"; sha256 = "0d1586cd326d997497a2a6fddd939a83892be07cb20f8c88fda5013f8c5bbe7e";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gnome-calculator-3.20.1"; name = "gnome-calculator-3.20.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gnome-calculator/3.20/gnome-calculator-3.20.1.tar.xz; url = mirror://gnome/sources/gnome-calculator/3.20/gnome-calculator-3.20.2.tar.xz;
sha256 = "02edcf99857599ac10ecd2faaf33ad20a9f11f7c5a89a52ee1b511d99b594b90"; sha256 = "2af1c12a12a230f90fc221ff908efd80fe7eebfeaad56cd698c393d2fc34a8fb";
}; };
} }

View File

@ -1,11 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: rec { fetchurl: {
major = "3.20"; name = "gnome-online-accounts-3.20.3";
name = "gnome-online-accounts-${major}.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-online-accounts/${major}/${name}.tar.xz"; url = mirror://gnome/sources/gnome-online-accounts/3.20/gnome-online-accounts-3.20.3.tar.xz;
sha256 = "1pf1rn1i7dqll9ph6scg2g281njx5pq6z0wyj9493m474nfmsmab"; sha256 = "094fc04cf3e0b4ace667fce3b5bdcca5093e0c93f9184439e663c69546c1e046";
}; };
} }

Some files were not shown because too many files have changed in this diff Show More