Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2017-09-19 18:03:09 +02:00
commit d4c33d5e4e
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
185 changed files with 3918 additions and 2009 deletions

3
.github/CODEOWNERS vendored
View file

@ -47,3 +47,6 @@ pkgs/development/interpreters/elixir/* @gleber
pkgs/development/tools/build-managers/rebar/* @gleber
pkgs/development/tools/build-managers/rebar3/* @gleber
pkgs/development/tools/erlang/* @gleber
# Jetbrains
pkgs/applications/editors/jetbrains @edwtjo

View file

@ -1,11 +1,11 @@
{ lib }:
# Operations on attribute sets.
let
inherit (builtins) head tail length;
inherit (import ./trivial.nix) and or;
inherit (import ./default.nix) fold;
inherit (import ./strings.nix) concatStringsSep;
inherit (import ./lists.nix) concatMap concatLists all deepSeqList;
inherit (lib.trivial) and or;
inherit (lib.strings) concatStringsSep;
inherit (lib.lists) fold concatMap concatLists all deepSeqList;
in
rec {

View file

@ -1,6 +1,6 @@
{ lib }:
let
lib = import ./default.nix;
inherit (builtins) attrNames isFunction;
in

View file

@ -1,4 +1,6 @@
let lib = import ./default.nix;
{ lib }:
let
inherit (builtins) trace attrNamesToStr isAttrs isFunction isList isInt
isString isBool head substring attrNames;

View file

@ -5,58 +5,127 @@
*/
let
# often used, or depending on very little
trivial = import ./trivial.nix;
fixedPoints = import ./fixed-points.nix;
callLibs = file: import file { inherit lib; };
# datatypes
attrsets = import ./attrsets.nix;
lists = import ./lists.nix;
strings = import ./strings.nix;
stringsWithDeps = import ./strings-with-deps.nix;
lib = rec {
# packaging
customisation = import ./customisation.nix;
maintainers = import ./maintainers.nix;
meta = import ./meta.nix;
sources = import ./sources.nix;
# often used, or depending on very little
trivial = callLibs ./trivial.nix;
fixedPoints = callLibs ./fixed-points.nix;
# module system
modules = import ./modules.nix;
options = import ./options.nix;
types = import ./types.nix;
# datatypes
attrsets = callLibs ./attrsets.nix;
lists = callLibs ./lists.nix;
strings = callLibs ./strings.nix;
stringsWithDeps = callLibs ./strings-with-deps.nix;
# constants
licenses = import ./licenses.nix;
systems = import ./systems;
# packaging
customisation = callLibs ./customisation.nix;
maintainers = callLibs ./maintainers.nix;
meta = callLibs ./meta.nix;
sources = callLibs ./sources.nix;
# misc
debug = import ./debug.nix;
generators = import ./generators.nix;
misc = import ./deprecated.nix;
# domain-specific
sandbox = import ./sandbox.nix;
fetchers = import ./fetchers.nix;
# module system
modules = callLibs ./modules.nix;
options = callLibs ./options.nix;
types = callLibs ./types.nix;
# Eval-time filesystem handling
filesystem = import ./filesystem.nix;
# constants
licenses = callLibs ./licenses.nix;
systems = callLibs ./systems;
in
{ inherit trivial fixedPoints
attrsets lists strings stringsWithDeps
customisation maintainers meta sources
modules options types
licenses systems
debug generators misc
sandbox fetchers filesystem;
# misc
debug = callLibs ./debug.nix;
generators = callLibs ./generators.nix;
misc = callLibs ./deprecated.nix;
# domain-specific
sandbox = callLibs ./sandbox.nix;
fetchers = callLibs ./fetchers.nix;
# Eval-time filesystem handling
filesystem = callLibs ./filesystem.nix;
# back-compat aliases
platforms = systems.doubles;
}
# !!! don't include everything at top-level; perhaps only the most
# commonly used functions.
// trivial // fixedPoints
// lists // strings // stringsWithDeps // attrsets // sources
// options // types // meta // debug // misc // modules
// customisation
inherit (builtins) add addErrorContext attrNames
concatLists deepSeq elem elemAt filter genericClosure genList
getAttr hasAttr head isAttrs isBool isFunction isInt isList
isString length lessThan listToAttrs pathExists readFile
replaceStrings seq stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs
flip mapNullable inNixShell min max importJSON warn info
nixpkgsVersion mod;
inherit (fixedPoints) fix fix' extends composeExtensions
makeExtensible makeExtensibleWithCustomName;
inherit (attrsets) attrByPath hasAttrByPath setAttrByPath
getAttrFromPath attrVals attrValues catAttrs filterAttrs
filterAttrsRecursive foldAttrs collect nameValuePair mapAttrs
mapAttrs' mapAttrsToList mapAttrsRecursive mapAttrsRecursiveCond
genAttrs isDerivation toDerivation optionalAttrs
zipAttrsWithNames zipAttrsWith zipAttrs recursiveUpdateUntil
recursiveUpdate matchAttrs overrideExisting getOutput getBin
getLib getDev chooseDevOutputs zipWithNames zip;
inherit (lists) singleton foldr fold foldl foldl' imap0 imap1
concatMap flatten remove findSingle findFirst any all count
optional optionals toList range partition zipListsWith zipLists
reverseList listDfs toposort sort take drop sublist last init
crossLists unique intersectLists subtractLists
mutuallyExclusive;
inherit (strings) concatStrings concatMapStrings concatImapStrings
intersperse concatStringsSep concatMapStringsSep
concatImapStringsSep makeSearchPath makeSearchPathOutput
makeLibraryPath makeBinPath makePerlPath optionalString
hasPrefix hasSuffix stringToCharacters stringAsChars escape
escapeShellArg escapeShellArgs replaceChars lowerChars upperChars
toLower toUpper addContextFrom splitString removePrefix
removeSuffix versionOlder versionAtLeast getVersion nameFromURL
enableFeature fixedWidthString fixedWidthNumber isStorePath
toInt readPathsFromFile fileContents;
inherit (stringsWithDeps) textClosureList textClosureMap
noDepEntry fullDepEntry packEntry stringAfter;
inherit (customisation) overrideDerivation makeOverridable
callPackageWith callPackagesWith addPassthru hydraJob makeScope;
inherit (meta) addMetaAttrs dontDistribute setName updateName
appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio
hiPrioSet;
inherit (sources) pathType pathIsDirectory cleanSourceFilter
cleanSource sourceByRegex sourceFilesBySuffices
commitIdFromGitRepo;
inherit (modules) evalModules closeModules unifyModuleSyntax
applyIfFunction unpackSubmodule packSubmodule mergeModules
mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
pushDownProperties dischargeProperties filterOverrides
sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride
mkOptionDefault mkDefault mkForce mkVMOverride mkStrict
mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions
mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule
mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
mkAliasOptionModule doRename filterModules;
inherit (options) isOption mkEnableOption mkSinkUndeclaredOptions
mergeDefaultOption mergeOneOption mergeEqualOption getValues
getFiles optionAttrSetToDocList optionAttrSetToDocList'
scrubOptionValue literalExample showOption showFiles
unknownModule mkOption;
inherit (types) isType setType defaultTypeMerge defaultFunctor
isOptionType mkOptionType;
inherit (debug) addErrorContextToAttrs traceIf traceVal
traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq
traceValSeqN traceShowVal traceShowValMarked
showVal traceCall traceCall2 traceCall3 traceValIfNot runTests
testAllTrue strict traceCallXml attrNamesToStr;
inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs
defaultOverridableDelayableArgs composedArgsAndFun
maybeAttrNullable maybeAttr ifEnable checkFlag getValue
checkReqs uniqList uniqListExt condConcat lazyGenericClosure
innerModifySumArgs modifySumArgs innerClosePropagation
closePropagation mapAttrsFlatten nvs setAttr setAttrMerge
mergeAttrsWithFunc mergeAttrsConcatenateValues
mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults
mergeAttrsByFuncDefaultsClean mergeAttrBy
prepareDerivationArgs nixType imap overridableDelayableArgs;
};
in lib

View file

@ -1,11 +1,12 @@
let lib = import ./default.nix;
{ lib }:
let
inherit (builtins) isFunction head tail isList isAttrs isInt attrNames;
in
with import ./lists.nix;
with import ./attrsets.nix;
with import ./strings.nix;
with lib.lists;
with lib.attrsets;
with lib.strings;
rec {

View file

@ -1,4 +1,5 @@
# snippets that can be shared by multiple fetchers (pkgs/build-support)
{ lib }:
{
proxyImpureEnvVars = [

View file

@ -1,3 +1,4 @@
{ lib }:
{ # haskellPathsInDir : Path -> Map String Path
# A map of all haskell packages defined in the given path,
# identified by having a cabal file with the same name as the

View file

@ -1,3 +1,4 @@
{ ... }:
rec {
# Compute the fixed point of the given function `f`, which is usually an
# attribute set that expects its final, non-recursive representation as an

View file

@ -7,10 +7,11 @@
* Tests can be found in ./tests.nix
* Documentation in the manual, #sec-generators
*/
with import ./trivial.nix;
{ lib }:
with (lib).trivial;
let
libStr = import ./strings.nix;
libAttr = import ./attrsets.nix;
libStr = lib.strings;
libAttr = lib.attrsets;
flipMapAttrs = flip libAttr.mapAttrs;
in

View file

@ -1,7 +1,6 @@
{ lib }:
let
lib = import ./default.nix;
spdx = lic: lic // {
url = "http://spdx.org/licenses/${lic.spdxId}";
};
@ -419,7 +418,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
url = "https://raw.githubusercontent.com/raboof/notion/master/LICENSE";
fullName = "Notion modified LGPL";
};
ofl = spdx {
spdxId = "OFL-1.1";
fullName = "SIL Open Font License 1.1";

View file

@ -1,6 +1,6 @@
# General list operations.
with import ./trivial.nix;
{ lib }:
with lib.trivial;
rec {

View file

@ -1,3 +1,4 @@
{ ...}:
/* List of NixOS maintainers. The format is:
handle = "Real Name <address@example.org>";

View file

@ -1,8 +1,7 @@
/* Some functions for manipulating meta attributes, as well as the
name attribute. */
let lib = import ./default.nix;
in
{ lib }:
rec {

View file

@ -1,10 +1,12 @@
with import ./lists.nix;
with import ./strings.nix;
with import ./trivial.nix;
with import ./attrsets.nix;
with import ./options.nix;
with import ./debug.nix;
with import ./types.nix;
{ lib }:
with lib.lists;
with lib.strings;
with lib.trivial;
with lib.attrsets;
with lib.options;
with lib.debug;
with lib.types;
rec {

View file

@ -1,11 +1,10 @@
# Nixpkgs/NixOS option handling.
{ lib }:
let lib = import ./default.nix; in
with import ./trivial.nix;
with import ./lists.nix;
with import ./attrsets.nix;
with import ./strings.nix;
with lib.trivial;
with lib.lists;
with lib.attrsets;
with lib.strings;
rec {

View file

@ -1,4 +1,5 @@
with import ./strings.nix;
{ lib }:
with lib.strings;
/* Helpers for creating lisp S-exprs for the Apple sandbox

View file

@ -1,6 +1,5 @@
# Functions for copying sources to the Nix store.
let lib = import ./default.nix; in
{ lib }:
rec {

View file

@ -1,3 +1,4 @@
{ lib }:
/*
Usage:
@ -40,9 +41,9 @@ Usage:
[1] maybe this behaviour should be removed to keep things simple (?)
*/
with import ./lists.nix;
with import ./attrsets.nix;
with import ./strings.nix;
with lib.lists;
with lib.attrsets;
with lib.strings;
rec {

View file

@ -1,6 +1,6 @@
/* String manipulation functions. */
let lib = import ./default.nix;
{ lib }:
let
inherit (builtins) length;

View file

@ -1,11 +1,12 @@
let inherit (import ../attrsets.nix) mapAttrs; in
{ lib }:
let inherit (lib.attrsets) mapAttrs; in
rec {
doubles = import ./doubles.nix;
parse = import ./parse.nix;
inspect = import ./inspect.nix;
platforms = import ./platforms.nix;
examples = import ./examples.nix;
doubles = import ./doubles.nix { inherit lib; };
parse = import ./parse.nix { inherit lib; };
inspect = import ./inspect.nix { inherit lib; };
platforms = import ./platforms.nix { inherit lib; };
examples = import ./examples.nix { inherit lib; };
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
# necessary.

View file

@ -1,8 +1,9 @@
{ lib }:
let
lists = import ../lists.nix;
parse = import ./parse.nix;
inherit (import ./inspect.nix) predicates;
inherit (import ../attrsets.nix) matchAttrs;
inherit (lib) lists;
parse = import ./parse.nix { inherit lib; };
inherit (import ./inspect.nix { inherit lib; }) predicates;
inherit (lib.attrsets) matchAttrs;
all = [
"aarch64-linux"

View file

@ -1,8 +1,8 @@
# These can be passed to nixpkgs as either the `localSystem` or
# `crossSystem`. They are put here for user convenience, but also used by cross
# tests and linux cross stdenv building, so handle with care!
let platforms = import ./platforms.nix; in
{ lib }:
let platforms = import ./platforms.nix { inherit lib; }; in
rec {
#

View file

@ -1,6 +1,7 @@
with import ./parse.nix;
with import ../attrsets.nix;
with import ../lists.nix;
{ lib }:
with import ./parse.nix { inherit lib; };
with lib.attrsets;
with lib.lists;
rec {
patterns = rec {

View file

@ -4,14 +4,13 @@
# http://llvm.org/docs/doxygen/html/Triple_8cpp_source.html especially
# Triple::normalize. Parsing should essentially act as a more conservative
# version of that last function.
with import ../lists.nix;
with import ../types.nix;
with import ../attrsets.nix;
with (import ./inspect.nix).predicates;
{ lib }:
with lib.lists;
with lib.types;
with lib.attrsets;
with (import ./inspect.nix { inherit lib; }).predicates;
let
lib = import ../default.nix;
setTypesAssert = type: pred:
mapAttrs (name: value:
assert pred value;

View file

@ -1,3 +1,4 @@
{ lib }:
rec {
pcBase = {
name = "pc";

View file

@ -1,3 +1,4 @@
{ lib }:
rec {
/* The identity function
@ -55,7 +56,7 @@ rec {
isInt add sub lessThan
seq deepSeq genericClosure;
inherit (import ./strings.nix) fileContents;
inherit (lib.strings) fileContents;
# Return the Nixpkgs version number.
nixpkgsVersion =

View file

@ -1,15 +1,16 @@
# Definitions related to run-time type checking. Used in particular
# to type-check NixOS configurations.
{ lib }:
with lib.lists;
with lib.attrsets;
with lib.options;
with lib.trivial;
with lib.strings;
let
with import ./lists.nix;
with import ./attrsets.nix;
with import ./options.nix;
with import ./trivial.nix;
with import ./strings.nix;
let inherit (import ./modules.nix) mergeDefinitions filterOverrides; in
inherit (lib.modules) mergeDefinitions filterOverrides;
outer_types =
rec {
isType = type: x: (x._type or "") == type;
setType = typeName: value: value // {
@ -95,7 +96,6 @@ rec {
# When adding new types don't forget to document them in
# nixos/doc/manual/development/option-types.xml!
types = rec {
unspecified = mkOptionType {
name = "unspecified";
};
@ -291,7 +291,7 @@ rec {
submodule = opts:
let
opts' = toList opts;
inherit (import ./modules.nix) evalModules;
inherit (lib.modules) evalModules;
in
mkOptionType rec {
name = "submodule";
@ -395,5 +395,6 @@ rec {
addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };
};
};
}
in outer_types // outer_types.types

View file

@ -107,7 +107,7 @@ rmdir /var/lib/ipfs/.ipfs
The <literal>mysql</literal> default <literal>dataDir</literal> has changed from <literal>/var/mysql</literal> to <literal>/var/lib/mysql</literal>.
</para>
<para>
Radicale's default package has changed from 1.x to 2.x. Instructions to migrate can be found <link xlink:href="http://radicale.org/1to2/"> here </link>. It is also possible to use the newer version by setting the <literal>package</literal> to <literal>radicale2</literal>, which is done automatically when <literal>stateVersion</literal> is 17.09 or higher.
Radicale's default package has changed from 1.x to 2.x. Instructions to migrate can be found <link xlink:href="http://radicale.org/1to2/"> here </link>. It is also possible to use the newer version by setting the <literal>package</literal> to <literal>radicale2</literal>, which is done automatically when <literal>stateVersion</literal> is 17.09 or higher. The <literal>extraArgs</literal> option has been added to allow passing the data migration arguments specified in the instructions; see the <filename xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/radicale.nix">radicale.nix</filename> NixOS test for an example migration.
</para>
</listitem>
<listitem>
@ -255,6 +255,15 @@ rmdir /var/lib/ipfs/.ipfs
See the overlays chapter of the Nixpkgs manual for more details.
</para>
</listitem>
<listitem>
<para>
<literal>sha256</literal> argument value of
<literal>dockerTools.pullImage</literal> expression must be
updated since the mechanism to download the image has been
changed. Skopeo is now used to pull the image instead of the
Docker daemon.
</para>
</listitem>
</itemizedlist>

View file

@ -9,7 +9,9 @@ let
cfg = config.networking;
dnsmasqResolve = config.services.dnsmasq.enable &&
config.services.dnsmasq.resolveLocalQueries;
hasLocalResolver = config.services.bind.enable || dnsmasqResolve;
bindResolve = config.services.bind.enable &&
config.services.bind.resolveLocalQueries;
hasLocalResolver = bindResolve || dnsmasqResolve;
resolvconfOptions = cfg.resolvconfOptions
++ optional cfg.dnsSingleRequest "single-request"

View file

@ -301,6 +301,7 @@
./services/misc/gitlab.nix
./services/misc/gitolite.nix
./services/misc/gogs.nix
./services/misc/gollum.nix
./services/misc/gpsd.nix
#./services/misc/ihaskell.nix
./services/misc/irkerd.nix
@ -512,6 +513,7 @@
./services/networking/smokeping.nix
./services/networking/softether.nix
./services/networking/spiped.nix
./services/networking/squid.nix
./services/networking/sslh.nix
./services/networking/ssh/lshd.nix
./services/networking/ssh/sshd.nix

View file

@ -171,7 +171,7 @@ in
if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi
'';
postStart = mkBefore ''
until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://127.0.0.1${toString configOptions.http.bind-address}'/ping; do
until ${pkgs.curl.bin}/bin/curl -s -o /dev/null ${if configOptions.http.https-enabled then "-k https" else "http"}://127.0.0.1${toString configOptions.http.bind-address}/ping; do
sleep 1;
done
'';

View file

@ -30,6 +30,10 @@ let
master-password = ${cfg.replication.masterPassword}
master-port = ${toString cfg.replication.masterPort}
''}
${optionalString (cfg.ensureUsers != [])
''
plugin-load-add = auth_socket.so
''}
${cfg.extraOptions}
'';
@ -123,6 +127,46 @@ in
description = "A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database";
};
ensureDatabases = mkOption {
default = [];
description = ''
Ensures that the specified databases exist.
This option will never delete existing databases, especially not when the value of this
option is changed. This means that databases created once through this option or
otherwise have to be removed manually.
'';
example = [
"nextcloud"
"piwik"
];
};
ensureUsers = mkOption {
default = [];
description = ''
Ensures that the specified users exist and have at least the ensured permissions.
The MySQL users will be identified using Unix socket authentication. This authenticates the Unix user with the
same name only, and that without the need for a password.
This option will never delete existing users or remove permissions, especially not when the value of this
option is changed. This means that users created and permissions assigned once through this option or
otherwise have to be removed manually.
'';
example = [
{
name = "nextcloud";
ensurePermissions = {
"nextcloud.*" = "ALL PRIVILEGES";
};
}
{
name = "backup";
ensurePermissions = {
"*.*" = "SELECT, LOCK TABLES";
};
}
];
};
# FIXME: remove this option; it's a really bad idea.
rootPassword = mkOption {
default = null;
@ -305,6 +349,24 @@ in
rm /tmp/mysql_init
fi
${optionalString (cfg.ensureDatabases != []) ''
(
${concatMapStrings (database: ''
echo "CREATE DATABASE IF NOT EXISTS ${database};"
'') cfg.ensureDatabases}
) | ${mysql}/bin/mysql -u root -N
''}
${concatMapStrings (user:
''
( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if mysql == pkgs.mariadb then "unix_socket" else "auth_socket"};"
${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';"
'') user.ensurePermissions)}
) | ${mysql}/bin/mysql -u root -N
'') cfg.ensureUsers}
''; # */
};

View file

@ -9,6 +9,8 @@ let
baseDir = "/run/dovecot2";
stateDir = "/var/lib/dovecot";
canCreateMailUserGroup = cfg.mailUser != null && cfg.mailGroup != null;
dovecotConf = concatStrings [
''
base_dir = ${baseDir}
@ -314,17 +316,18 @@ in
description = "Dovecot user";
group = cfg.group;
}
++ optional cfg.createMailUser
{ name = cfg.mailUser;
description = "Virtual Mail User";
++ optional (cfg.createMailUser && cfg.mailUser != null)
({ name = cfg.mailUser;
description = "Virtual Mail User";
} // optionalAttrs (cfg.mailGroup != null) {
group = cfg.mailGroup;
};
});
users.extraGroups = optional (cfg.group == "dovecot2")
{ name = "dovecot2";
gid = config.ids.gids.dovecot2;
}
++ optional cfg.createMailUser
++ optional (cfg.createMailUser && cfg.mailGroup != null)
{ name = cfg.mailGroup;
};

View file

@ -257,7 +257,7 @@ in
in the Nix store. Use database.passwordFile instead.'';
# Create database passwordFile default when password is configured.
services.gogs.database.passwordFile = mkIf (cfg.database.password != "")
services.gogs.database.passwordFile =
(mkDefault (toString (pkgs.writeTextFile {
name = "gogs-database-password";
text = cfg.database.password;

View file

@ -0,0 +1,92 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.gollum;
in
{
options.services.gollum = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the Gollum service.";
};
address = mkOption {
type = types.str;
default = "0.0.0.0";
description = "IP address on which the web server will listen.";
};
port = mkOption {
type = types.int;
default = 4567;
description = "Port on which the web server will run.";
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = "Content of the configuration file";
};
branch = mkOption {
type = types.str;
default = "master";
example = "develop";
description = "Git branch to serve";
};
stateDir = mkOption {
type = types.path;
default = "/var/lib/gollum";
description = "Specifies the path of the repository directory. If it does not exist, Gollum will create it on startup.";
};
};
config = mkIf cfg.enable {
users.users.gollum = {
group = config.users.users.gollum.name;
description = "Gollum user";
createHome = false;
};
users.groups.gollum = { };
systemd.services.gollum = {
description = "Gollum wiki";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [ pkgs.git ];
preStart = let
userName = config.users.users.gollum.name;
groupName = config.users.groups.gollum.name;
in ''
# All of this is safe to be run on an existing repo
mkdir -p ${cfg.stateDir}
git init ${cfg.stateDir}
chmod 755 ${cfg.stateDir}
chown -R ${userName}:${groupName} ${cfg.stateDir}
'';
serviceConfig = {
User = config.users.extraUsers.gollum.name;
Group = config.users.extraGroups.gollum.name;
PermissionsStartOnly = true;
ExecStart = ''
${pkgs.gollum}/bin/gollum \
--port ${toString cfg.port} \
--host ${cfg.address} \
--config ${builtins.toFile "gollum-config.rb" cfg.extraConfig} \
--ref ${cfg.branch} \
${cfg.stateDir}
'';
};
};
};
}

View file

@ -6,7 +6,7 @@ let
cfg = config.services.ipfs;
ipfsFlags = toString ([
#(optionalString cfg.autoMount "--mount")
(optionalString cfg.autoMount "--mount")
(optionalString cfg.autoMigrate "--migrate")
(optionalString cfg.enableGC "--enable-gc")
(optionalString (cfg.serviceFdlimit != null) "--manage-fdlimit=false")
@ -37,9 +37,10 @@ let
baseService = recursiveUpdate commonEnv {
wants = [ "ipfs-init.service" ];
preStart = ''
ipfs repo fsck # workaround for BUG #4212 (https://github.com/ipfs/go-ipfs/issues/4214)
ipfs --local config Addresses.API ${cfg.apiAddress}
ipfs --local config Addresses.Gateway ${cfg.gatewayAddress}
'' + optionalString false/*cfg.autoMount*/ ''
'' + optionalString cfg.autoMount ''
ipfs --local config Mounts.FuseAllowOther --json true
ipfs --local config Mounts.IPFS ${cfg.ipfsMountDir}
ipfs --local config Mounts.IPNS ${cfg.ipnsMountDir}
@ -91,24 +92,22 @@ in {
};
defaultMode = mkOption {
description = "systemd service that is enabled by default";
type = types.enum [ "online" "offline" "norouting" ];
default = "online";
description = "systemd service that is enabled by default";
};
autoMigrate = mkOption {
type = types.bool;
default = false;
description = ''
Whether IPFS should try to migrate the file system automatically.
'';
description = "Whether IPFS should try to migrate the file system automatically";
};
#autoMount = mkOption {
# type = types.bool;
# default = false;
# description = "Whether IPFS should try to mount /ipfs and /ipns at startup.";
#};
autoMount = mkOption {
type = types.bool;
default = false;
description = "Whether IPFS should try to mount /ipfs and /ipns at startup.";
};
ipfsMountDir = mkOption {
type = types.str;
@ -137,26 +136,22 @@ in {
enableGC = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable automatic garbage collection.
'';
description = "Whether to enable automatic garbage collection";
};
emptyRepo = mkOption {
type = types.bool;
default = false;
description = ''
If set to true, the repo won't be initialized with help files
'';
description = "If set to true, the repo won't be initialized with help files";
};
extraConfig = mkOption {
type = types.attrs;
description = toString [
"Attrset of daemon configuration to set using `ipfs config`, every time the daemon starts."
"These are applied last, so may override configuration set by other options in this module."
"Keep in mind that this configuration is stateful; i.e., unsetting anything in here does not reset the value to the default!"
];
description = ''
Attrset of daemon configuration to set using <command>ipfs config</command>, every time the daemon starts.
These are applied last, so may override configuration set by other options in this module.
Keep in mind that this configuration is stateful; i.e., unsetting anything in here does not reset the value to the default!
'';
default = {};
example = {
Datastore.StorageMax = "100GB";
@ -179,10 +174,8 @@ in {
serviceFdlimit = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
The fdlimit for the IPFS systemd unit or `null` to have the daemon attempt to manage it.
'';
example = 256*1024;
description = "The fdlimit for the IPFS systemd unit or <literal>null</literal> to have the daemon attempt to manage it";
example = 64*1024;
};
};
@ -192,6 +185,9 @@ in {
config = mkIf cfg.enable {
environment.systemPackages = [ wrapped ];
environment.etc."fuse.conf" = mkIf cfg.autoMount { text = ''
user_allow_other
''; };
users.extraUsers = mkIf (cfg.user == "ipfs") {
ipfs = {
@ -211,11 +207,11 @@ in {
description = "IPFS Initializer";
after = [ "local-fs.target" ];
before = [ "ipfs.service" "ipfs-offline.service" ];
before = [ "ipfs.service" "ipfs-offline.service" "ipfs-norouting.service" ];
preStart = ''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
'' + optionalString false/*cfg.autoMount*/ ''
'' + optionalString cfg.autoMount ''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipfsMountDir}
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipnsMountDir}
'';

View file

@ -151,6 +151,15 @@ in
";
};
resolveLocalQueries = mkOption {
type = types.bool;
default = true;
description = ''
Whether bind should resolve local queries (i.e. add 127.0.0.1 to
/etc/resolv.conf, overriding networking.nameserver).
'';
};
};
};

View file

@ -307,7 +307,8 @@ in {
systemd.services.coturn = {
description = "coturn TURN server";
after = [ "network.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
unitConfig = {

View file

@ -153,10 +153,14 @@ in
config = mkIf enableDHCP {
systemd.services.dhcpcd =
systemd.services.dhcpcd = let
cfgN = config.networking;
hasDefaultGatewaySet = (cfgN.defaultGateway != null && cfgN.defaultGateway.address != "")
|| (cfgN.defaultGateway6 != null && cfgN.defaultGateway6.address != "");
in
{ description = "DHCP Client";
wantedBy = [ "network-online.target" ];
wantedBy = optional (!hasDefaultGatewaySet) "network-online.target";
after = [ "network.target" ];
wants = [ "network.target" ];

View file

@ -42,7 +42,7 @@ in
default = true;
description = ''
Whether dnsmasq should resolve local queries (i.e. add 127.0.0.1 to
/etc/resolv.conf).
/etc/resolv.conf overriding networking.nameservers).
'';
};

View file

@ -48,6 +48,12 @@ in
configuration file.
'';
};
services.radicale.extraArgs = mkOption {
type = types.listOf types.string;
default = [];
description = "Extra arguments passed to the Radicale daemon.";
};
};
config = mkIf cfg.enable {
@ -71,7 +77,11 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/radicale -C ${confFile} -f";
ExecStart = concatStringsSep " " ([
"${cfg.package}/bin/radicale" "-C" confFile
] ++ (
map escapeShellArg cfg.extraArgs
));
User = "radicale";
Group = "radicale";
};

View file

@ -0,0 +1,169 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.squid;
squidConfig = pkgs.writeText "squid.conf"
(if cfg.configText != null then cfg.configText else
''
#
# Recommended minimum configuration (3.5):
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC 1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC 1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network
acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
http_access deny to_localhost
# Application logs to syslog, access and store logs have specific files
cache_log syslog
access_log stdio:/var/log/squid/access.log
cache_store_log stdio:/var/log/squid/store.log
# Required by systemd service
pid_filename /run/squid.pid
# Run as user and group squid
cache_effective_user squid squid
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
${cfg.extraConfig}
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port ${toString cfg.proxyPort}
# Leave coredumps in the first cache dir
coredump_dir /var/cache/squid
#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
'');
in
{
options = {
services.squid = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to run squid web proxy.";
};
proxyPort = mkOption {
type = types.int;
default = 3128;
description = "TCP port on which squid will listen.";
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Squid configuration. Contents will be added
verbatim to the configuration file.
'';
};
configText = mkOption {
type = types.nullOr types.lines;
default = null;
description = ''
Verbatim contents of squid.conf. If null (default), use the
autogenerated file from NixOS instead.
'';
};
};
};
config = mkIf cfg.enable {
users.users.squid = {
isSystemUser = true;
group = "squid";
home = "/var/cache/squid";
createHome = true;
};
users.groups.squid = {};
systemd.services.squid = {
description = "Squid caching web proxy";
after = [ "network.target" "nss-lookup.target" ];
wantedBy = [ "multi-user.target"];
preStart = ''
mkdir -p "/var/log/squid"
chown squid:squid "/var/log/squid"
'';
serviceConfig = {
Type="forking";
PIDFile="/run/squid.pid";
PermissionsStartOnly = true;
ExecStart = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}";
};
};
};
}

View file

@ -103,6 +103,15 @@ in
'';
};
sftpFlags = mkOption {
type = with types; listOf str;
default = [];
example = [ "-f AUTHPRIV" "-l INFO" ];
description = ''
Commandline flags to add to sftp-server.
'';
};
permitRootLogin = mkOption {
default = "prohibit-password";
type = types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"];
@ -208,7 +217,7 @@ in
};
moduliFile = mkOption {
example = "services.openssh.moduliFile = /etc/my-local-ssh-moduli;";
example = "/etc/my-local-ssh-moduli;";
type = types.path;
description = ''
Path to <literal>moduli</literal> file to install in
@ -338,7 +347,7 @@ in
''}
${optionalString cfg.allowSFTP ''
Subsystem sftp ${cfgc.package}/libexec/sftp-server
Subsystem sftp ${cfgc.package}/libexec/sftp-server ${concatStringsSep " " cfg.sftpFlags}
''}
PermitRootLogin ${cfg.permitRootLogin}

View file

@ -199,8 +199,10 @@ in
buildInputs = [ pkgs.makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
${concatStringsSep "\n" (mapAttrsToList (network: data: ''
makeWrapper ${data.package}/bin/tinc "$out/bin/tinc.${network}" --add-flags "--pidfile=/run/tinc.${network}.pid"
${concatStringsSep "\n" (mapAttrsToList (network: data:
optionalString (versionAtLeast data.package.version "1.1pre") ''
makeWrapper ${data.package}/bin/tinc "$out/bin/tinc.${network}" \
--add-flags "--pidfile=/run/tinc.${network}.pid"
'') cfg.networks)}
'';
};

View file

@ -73,6 +73,9 @@ let
then [ "${dev}-netdev.service" ]
else optional (dev != null && dev != "lo" && !config.boot.isContainer) (subsystemDevice dev);
hasDefaultGatewaySet = (cfg.defaultGateway != null && cfg.defaultGateway.address != "")
|| (cfg.defaultGateway6 != null && cfg.defaultGateway6.address != "");
networkLocalCommands = {
after = [ "network-setup.service" ];
bindsTo = [ "network-setup.service" ];
@ -85,7 +88,7 @@ let
before = [ "network.target" "shutdown.target" ];
wants = [ "network.target" ];
conflicts = [ "shutdown.target" ];
wantedBy = [ "multi-user.target" ];
wantedBy = [ "multi-user.target" ] ++ optional hasDefaultGatewaySet "network-online.target";
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
@ -102,7 +105,7 @@ let
''
# Set the static DNS configuration, if given.
${pkgs.openresolv}/sbin/resolvconf -m 1 -a static <<EOF
${optionalString (cfg.nameservers != [] && cfg.domain != null) ''
${optionalString (cfg.domain != null) ''
domain ${cfg.domain}
''}
${optionalString (cfg.search != []) ("search " + concatStringsSep " " cfg.search)}

View file

@ -236,6 +236,7 @@ in rec {
tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
tests.docker-edge = hydraJob (import tests/docker-edge.nix { system = "x86_64-linux"; });
tests.dovecot = callTest tests/dovecot.nix {};
tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; };
tests.ecryptfs = callTest tests/ecryptfs.nix {};
tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
@ -253,10 +254,12 @@ in rec {
tests.gocd-server = callTest tests/gocd-server.nix {};
tests.gnome3 = callTest tests/gnome3.nix {};
tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {};
tests.grafama = callTest tests/grafana.nix {};
tests.hardened = callTest tests/hardened.nix { };
tests.hibernate = callTest tests/hibernate.nix {};
tests.hound = callTest tests/hound.nix {};
tests.i3wm = callTest tests/i3wm.nix {};
tests.initrd-network-ssh = callTest tests/initrd-network-ssh.nix {};
tests.installer = callSubTests tests/installer.nix {};
tests.influxdb = callTest tests/influxdb.nix {};
tests.ipv6 = callTest tests/ipv6.nix {};

64
nixos/tests/dovecot.nix Normal file
View file

@ -0,0 +1,64 @@
import ./make-test.nix {
name = "dovecot";
machine = { pkgs, ... }: {
imports = [ common/user-account.nix ];
services.postfix.enable = true;
services.dovecot2.enable = true;
services.dovecot2.protocols = [ "imap" "pop3" ];
environment.systemPackages = let
sendTestMail = pkgs.writeScriptBin "send-testmail" ''
#!${pkgs.stdenv.shell}
exec sendmail -vt <<MAIL
From: root@localhost
To: alice@localhost
Subject: Very important!
Hello world!
MAIL
'';
testImap = pkgs.writeScriptBin "test-imap" ''
#!${pkgs.python3.interpreter}
import imaplib
with imaplib.IMAP4('localhost') as imap:
imap.login('alice', 'foobar')
imap.select()
status, refs = imap.search(None, 'ALL')
assert status == 'OK'
assert len(refs) == 1
status, msg = imap.fetch(refs[0], 'BODY[TEXT]')
assert status == 'OK'
assert msg[0][1].strip() == b'Hello world!'
'';
testPop = pkgs.writeScriptBin "test-pop" ''
#!${pkgs.python3.interpreter}
import poplib
pop = poplib.POP3('localhost')
try:
pop.user('alice')
pop.pass_('foobar')
assert len(pop.list()[1]) == 1
status, fullmail, size = pop.retr(1)
assert status.startswith(b'+OK ')
body = b"".join(fullmail[fullmail.index(b""):]).strip()
assert body == b'Hello world!'
finally:
pop.quit()
'';
in [ sendTestMail testImap testPop ];
};
testScript = ''
$machine->waitForUnit('postfix.service');
$machine->waitForUnit('dovecot2.service');
$machine->succeed('send-testmail');
$machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
$machine->succeed('test-imap');
$machine->succeed('test-pop');
'';
}

25
nixos/tests/grafana.nix Normal file
View file

@ -0,0 +1,25 @@
import ./make-test.nix ({ lib, ... }:
{
name = "grafana";
meta = with lib.maintainers; {
maintainers = [ willibutz ];
};
machine = { config, pkgs, ... }: {
services.grafana = {
enable = true;
addr = "localhost";
analytics.reporting.enable = false;
domain = "localhost";
security.adminUser = "testusername";
};
};
testScript = ''
$machine->start;
$machine->waitForUnit("grafana.service");
$machine->waitForOpenPort(3000);
$machine->succeed("curl -sS http://127.0.0.1:3000/");
'';
})

View file

@ -0,0 +1,74 @@
import ./make-test.nix ({ pkgs, lib, ... }:
let
keys = pkgs.runCommand "gen-keys" {
outputs = [ "out" "dbPub" "dbPriv" "sshPub" "sshPriv" ];
buildInputs = with pkgs; [ dropbear openssh ];
}
''
touch $out
dropbearkey -t rsa -f $dbPriv -s 4096 | sed -n 2p > $dbPub
ssh-keygen -q -t rsa -b 4096 -N "" -f client
mv client $sshPriv
mv client.pub $sshPub
'';
in {
name = "initrd-network-ssh";
meta = with lib.maintainers; {
maintainers = [ willibutz ];
};
nodes = with lib; rec {
server =
{ config, pkgs, ... }:
{
boot.kernelParams = [
"ip=${
(head config.networking.interfaces.eth1.ip4).address
}:::255.255.255.0::eth1:none"
];
boot.initrd.network = {
enable = true;
ssh = {
enable = true;
authorizedKeys = [ "${readFile keys.sshPub}" ];
port = 22;
hostRSAKey = keys.dbPriv;
};
};
boot.initrd.preLVMCommands = ''
while true; do
if [ -f fnord ]; then
poweroff
fi
sleep 1
done
'';
};
client =
{ config, pkgs, ... }:
{
environment.etc.knownHosts = {
text = concatStrings [
"server,"
"${toString (head (splitString " " (
toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
)))} "
"${readFile keys.dbPub}"
];
};
};
};
testScript = ''
startAll;
$client->waitForUnit("network.target");
$client->copyFileFromHost("${keys.sshPriv}","/etc/sshKey");
$client->succeed("chmod 0600 /etc/sshKey");
$client->waitUntilSucceeds("ping -c 1 server");
$client->succeed("ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'");
$client->shutdown;
'';
})

View file

@ -23,8 +23,7 @@ import ./make-test.nix ({ pkgs, ...} : {
services.ipfs = {
enable = true;
defaultMode = "norouting";
# not yet. See #28621
#autoMount = true;
autoMount = true;
};
networking.firewall.allowedTCPPorts = [ 4001 ];
};
@ -51,7 +50,6 @@ import ./make-test.nix ({ pkgs, ...} : {
$getter->mustSucceed("ipfs --api /ip4/127.0.0.1/tcp/5001 swarm connect /ip4/$addrIp/tcp/4001/ipfs/$addrId");
$getter->mustSucceed("[ -n \"\$(ipfs --api /ip4/127.0.0.1/tcp/5001 cat /ipfs/$ipfsHash | grep fnord)\" ]");
# not yet. See #28621
# $getter->mustSucceed("[ -n \"$(cat /ipfs/$ipfsHash | grep fnord)\" ]");
$getter->mustSucceed("[ -n \"$(cat /ipfs/$ipfsHash | grep fnord)\" ]");
'';
})

View file

@ -105,7 +105,7 @@ let
startAll;
$client->waitForUnit("network.target");
$router->waitForUnit("network.target");
$router->waitForUnit("network-online.target");
# Make sure dhcpcd is not started
$client->fail("systemctl status dhcpcd.service");
@ -157,7 +157,7 @@ let
startAll;
$client->waitForUnit("network.target");
$router->waitForUnit("network.target");
$router->waitForUnit("network-online.target");
# Wait until we have an ip address on each interface
$client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");

View file

@ -2,12 +2,8 @@ let
user = "someuser";
password = "some_password";
port = builtins.toString 5232;
in
import ./make-test.nix ({ pkgs, lib, ... }: {
name = "radicale";
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
machine = {
common = { pkgs, ... }: {
services.radicale = {
enable = true;
config = ''
@ -29,11 +25,81 @@ in
${pkgs.apacheHttpd}/bin/htpasswd -bcB "$out" ${user} ${password}
'';
};
# This tests whether the web interface is accessible to an authenticated user
testScript = ''
$machine->waitForUnit('radicale.service');
$machine->waitForOpenPort(${port});
$machine->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/');
'';
in
import ./make-test.nix ({ pkgs, lib, ... }@args: {
name = "radicale";
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
nodes = rec {
radicale = radicale1; # Make the test script read more nicely
radicale1 = lib.recursiveUpdate (common args) {
nixpkgs.overlays = [
(self: super: {
radicale1 = super.radicale1.overrideAttrs (oldAttrs: {
propagatedBuildInputs = with self.pythonPackages;
(oldAttrs.propagatedBuildInputs or []) ++ [ passlib ];
});
})
];
};
radicale1_export = lib.recursiveUpdate radicale1 {
services.radicale.extraArgs = [
"--export-storage" "/tmp/collections-new"
];
};
radicale2_verify = lib.recursiveUpdate radicale2 {
services.radicale.extraArgs = [ "--verify-storage" ];
};
radicale2 = lib.recursiveUpdate (common args) {
system.stateVersion = "17.09";
};
};
# This tests whether the web interface is accessible to an authenticated user
testScript = { nodes }: let
switchToConfig = nodeName: let
newSystem = nodes.${nodeName}.config.system.build.toplevel;
in "${newSystem}/bin/switch-to-configuration test";
in ''
# Check Radicale 1 functionality
$radicale->succeed('${switchToConfig "radicale1"} >&2');
$radicale->waitForUnit('radicale.service');
$radicale->waitForOpenPort(${port});
$radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
# Export data in Radicale 2 format
$radicale->succeed('systemctl stop radicale');
$radicale->succeed('ls -al /tmp/collections');
$radicale->fail('ls -al /tmp/collections-new');
# Radicale exits immediately after exporting storage
$radicale->succeed('${switchToConfig "radicale1_export"} >&2');
$radicale->waitUntilFails('systemctl status radicale');
$radicale->succeed('ls -al /tmp/collections');
$radicale->succeed('ls -al /tmp/collections-new');
# Verify data in Radicale 2 format
$radicale->succeed('rm -r /tmp/collections/${user}');
$radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections');
$radicale->succeed('${switchToConfig "radicale2_verify"} >&2');
$radicale->waitUntilFails('systemctl status radicale');
my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 5');
if ($retcode != 0 || index($logs, 'Verifying storage') == -1) {
die "Radicale 2 didn't verify storage"
}
if (index($logs, 'failed') != -1 || index($logs, 'exception') != -1) {
die "storage verification failed"
}
# Check Radicale 2 functionality
$radicale->succeed('${switchToConfig "radicale2"} >&2');
$radicale->waitForUnit('radicale.service');
$radicale->waitForOpenPort(${port});
my ($retcode, $output) = $radicale->execute('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
if ($retcode != 0 || index($output, 'VCALENDAR') == -1) {
die "Could not read calendar from Radicale 2"
}
$radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/');
'';
})

View file

@ -5,13 +5,13 @@
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.14.0";
version = "0.15.0";
src = fetchurl {
urls = [ "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
"mirror://sourceforge/bitcoin/Bitcoin/bitcoin-${version}/bitcoin-${version}.tar.gz"
];
sha256 = "07k4i9r033dsvkp5ii5g3hykidm8b19c8c0mz1bi8k0dda3d8hyp";
sha256 = "18gj5gdscarv2a1hdgjps50czwi4hrmrrmhssaag55ysh94zbdjl";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];

View file

@ -60,10 +60,13 @@ sub update_nix_block {
die "$url still has some interpolation" if $url =~ /\$/;
my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
die "invalid sha256 in $url.sha256" unless $sha256;
my ($sha256Base32) = readpipe("nix-hash --type sha256 --to-base32 $sha256");
chomp $sha256Base32;
print "Jetbrains published SHA256: $sha256\n";
print "Conversion into base32 yeilds: $sha256Base32\n";
$block =~ s#version\s*=\s*"([^"]+)".+$#version = "$latest_versions{$channel}"; /* updated by script */#m;
$block =~ s#sha256\s*=\s*"([^"]+)".+$#sha256 = "$sha256"; /* updated by script */#m;
$block =~ s#sha256\s*=\s*"([^"]+)".+$#sha256 = "$sha256Base32"; /* updated by script */#m;
}
}
return $block;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "potrace-${version}";
version = "1.14";
version = "1.15";
src = fetchurl {
url = "http://potrace.sourceforge.net/download/${version}/potrace-${version}.tar.gz";
sha256 = "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv";
sha256 = "17ajildjp14shsy339xarh1lw1p0k60la08ahl638a73mh23kcx9";
};
configureFlags = [ "--with-libpotrace" ];

View file

@ -135,6 +135,7 @@ let
libkipi = callPackage ./libkipi.nix {};
libkleo = callPackage ./libkleo.nix {};
libkomparediff2 = callPackage ./libkomparediff2.nix {};
libksane = callPackage ./libksane.nix {};
libksieve = callPackage ./libksieve.nix {};
mailcommon = callPackage ./mailcommon.nix {};
mailimporter = callPackage ./mailimporter.nix {};

View file

@ -0,0 +1,16 @@
{
mkDerivation, lib,
extra-cmake-modules, qtbase,
ki18n, ktextwidgets, kwallet, kwidgetsaddons,
sane-backends
}:
mkDerivation {
name = "libksane";
meta = with lib; {
license = licenses.gpl2;
maintainers = with maintainers; [ pshendry ];
};
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ qtbase ki18n ktextwidgets kwallet kwidgetsaddons sane-backends ];
}

View file

@ -10,14 +10,14 @@
stdenv.mkDerivation rec {
name = "palemoon-${version}";
version = "27.4.1";
version = "27.4.2";
src = fetchFromGitHub {
name = "palemoon-src";
owner = "MoonchildProductions";
repo = "Pale-Moon";
rev = version + "_Release";
sha256 = "0sgy0iq038pj676w6k5nwbavrdmrznhydjibdpj6irdz5qxxdgjn";
sha256 = "155c1a76kkx9p8cnz9d33xx30asjr32x10cccx0gyq1lm1b9ffbl";
};
desktopItem = makeDesktopItem {

View file

@ -31,7 +31,12 @@ stdenv.mkDerivation rec {
url = "https://github.com/akrennmair/newsbeuter/commit/33577f842d9b74c119f3cebda95ef8652304db81.patch";
sha256 = "1kwhp6k14gk1hclgsr9w47qg7hs60p23zsl6f6vw13mczp2naqlb";
})
];
# https://github.com/akrennmair/newsbeuter/issues/598 / CVE-2017-14500
(fetchpatch {
url = "https://github.com/akrennmair/newsbeuter/commit/26f5a4350f3ab5507bb8727051c87bb04660f333.patch";
sha256 = "1jjxj4z3s4f1n8rfpwyd42a40gjnziykqas6a26s1lsdkklnbp6q";
})
];
installFlags = [ "DESTDIR=$(out)" "prefix=" ];

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl
, xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, xkeyboard_config, alsaLib, libpulseaudio ? null
, libredirect, quazip, less, which, unzip, llvmPackages
, xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, qtsvg, xkeyboard_config, alsaLib
, libpulseaudio ? null, libredirect, quazip, less, which, unzip, llvmPackages
}:
let
@ -12,8 +12,8 @@ let
deps =
[ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl
xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qtbase qtwebengine qtwebchannel libpulseaudio
quazip llvmPackages.libcxx llvmPackages.libcxxabi
xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qtbase qtwebengine qtwebchannel qtsvg
libpulseaudio quazip llvmPackages.libcxx llvmPackages.libcxxabi
];
desktopItem = makeDesktopItem {
@ -31,7 +31,7 @@ in
stdenv.mkDerivation rec {
name = "teamspeak-client-${version}";
version = "3.1.4";
version = "3.1.6";
src = fetchurl {
urls = [
@ -39,14 +39,14 @@ stdenv.mkDerivation rec {
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
];
sha256 = if stdenv.is64bit
then "337aec99070366aa3bb82b1bedd8215372b9c74014b198d45d5d6375d1f1c3a8"
else "4e126e005b1180655b0847cbdbfc9c47c59c639b7f93f0d988b54a8c4c6ec80f";
then "0ncqs5ykk1zsn2lqarf7pr39rbp4h54vaqq1sgqi5irpj6yagzak"
else "222e8abb24de9e3ea00fca10be32340ad88859a4d811afa644c5096aada4996d";
};
# grab the plugin sdk for the desktop icon
pluginsdk = fetchurl {
url = "http://dl.4players.de/ts/client/pluginsdk/pluginsdk_3.0.19.1.zip";
sha256 = "1r1ss6zq5axr7h82inlp98zaz50041rizli5bwz3lfyipfr034ya";
url = "http://dl.4players.de/ts/client/pluginsdk/pluginsdk_3.1.1.1.zip";
sha256 = "1bywmdj54glzd0kffvr27r84n4dsd0pskkbmh59mllbxvj0qwy7f";
};
buildInputs = [ makeWrapper less which unzip ];

View file

@ -32,11 +32,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "claws-mail-${version}";
version = "3.15.0";
version = "3.15.1";
src = fetchurl {
url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
sha256 = "0bnwd3l04y6j1nw3h861rdy6k6lyjzsi51j04d33vbpq8c6jskaf";
sha256 = "0hlm2jipyr4z6izlrpvabpz4ivh49i13avnm848kr1nv68pkq2cd";
};
patches = [ ./mime.patch ];

View file

@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "KDE integrated BtTorrent client";
homepage = https://www.kde.org/applications/internet/ktorrent/;
license = licenses.gpl2;
maintainers = with maintainers; [ eelco ];
platforms = platforms.linux;
};

View file

@ -2,7 +2,7 @@
rec {
major = "5";
minor = "3";
minor = "4";
patch = "1";
tweak = "2";
@ -12,6 +12,6 @@ rec {
src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "1zsl0z0i8pw532x2lmwd64ms6igibkkjhwf01zmm2kpnr9ycsijp";
sha256 = "0c17193vcf4nj8l5k9q87byv27px74kzp0hvgr1dfz5700cv086k";
};
}

View file

@ -12,7 +12,7 @@
, libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
, defaultIconTheme, glib, ncurses
, defaultIconTheme, glib, ncurses, xmlsec, epoxy, gpgme
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" ]
, withHelp ? true
, kdeIntegration ? false
@ -42,14 +42,14 @@ let
translations = fetchSrc {
name = "translations";
sha256 = "1r386qkfmlq7p1zly4xl0s0shp1d3rq9hwm1403ap22qpgrcgqyb";
sha256 = "1ir1f5jgjhpnxsw6izsryp4wg52ifzmcqyc0gdp9zh03rjf5i4cg";
};
# TODO: dictionaries
help = fetchSrc {
name = "help";
sha256 = "03n2lj6zhjg585zq9z458mj29dshni25p1v959a2z1xa3jzwfjfz";
sha256 = "1apgc57a8q6lsjfq2f7pzdn7wanqm8zkkrkbq2nd4hidp6avgm6f";
};
};
@ -65,14 +65,15 @@ in stdenv.mkDerivation rec {
# For some reason librdf_redland sometimes refers to rasqal.h instead
# of rasqal/rasqal.h
NIX_CFLAGS_COMPILE="-I${librdf_rasqal}/include/rasqal";
# And LO refers to gpgme++ by no-path name
NIX_CFLAGS_COMPILE="-I${librdf_rasqal}/include/rasqal -I${gpgme.dev}/include/gpgme++";
# If we call 'configure', 'make' will then call configure again without parameters.
# It's their system.
configureScript = "./autogen.sh";
dontUseCmakeConfigure = true;
patches = [ ./xdg-open.patch ];
patches = [ ./xdg-open-brief.patch ];
postUnpack = ''
mkdir -v $sourceRoot/src
@ -82,6 +83,10 @@ in stdenv.mkDerivation rec {
ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
'';
postPatch = ''
sed -e 's@/usr/bin/xdg-open@xdg-open@g' -i shell/source/unix/exec/shellexec.cxx
'';
QT4DIR = qt4;
# Fix boost 1.59 compat
@ -118,7 +123,7 @@ in stdenv.mkDerivation rec {
# rendering-dependent test
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
sed -e 's@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
@ -132,6 +137,7 @@ in stdenv.mkDerivation rec {
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
# not sure about this fragile test
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
'';
@ -249,9 +255,9 @@ in stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
python3 sablotron sane-backends unzip vigra which zip zlib
mdds bluez5 glibc libcmis libwps libabw libzmf
libxshmfence libatomic_ops graphite2 harfbuzz
librevenge libe-book libmwaw glm glew ncurses
mdds bluez5 glibc libcmis libwps libabw libzmf libtool
libxshmfence libatomic_ops graphite2 harfbuzz gpgme
librevenge libe-book libmwaw glm glew ncurses xmlsec epoxy
libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper
gdb
]

View file

@ -22,12 +22,19 @@ def main():
for x in packages:
md5 = x['md5']
upstream_sha256 = x['sha256']
if upstream_sha256:
hash = upstream_sha256
hashtype = 'sha256'
else:
hash = md5
hashtype = 'md5'
tarball = x['tarball']
url = construct_url(x)
print('url: {}'.format(url), file=sys.stderr)
path = download(url, tarball, md5)
path = download(url, tarball, hash, hashtype)
print('path: {}'.format(path), file=sys.stderr)
sha256 = get_sha256(path)
@ -38,7 +45,7 @@ def main():
print(' url = "{}";'.format(url))
print(' sha256 = "{}";'.format(sha256))
print(' md5 = "{}";'.format(md5))
print(' md5name = "{}-{}";'.format(md5,tarball))
print(' md5name = "{}-{}";'.format(md5 or upstream_sha256,tarball))
print(' }')
print(']')
@ -53,9 +60,9 @@ def construct_url(x):
x.get('subdir', ''), x['md5'], x['tarball'])
def download(url, name, md5):
cmd = ['nix-prefetch-url', url, md5, '--print-path',
'--type', 'md5', '--name', name]
def download(url, name, hash, hashtype):
cmd = ['nix-prefetch-url', url, hash, '--print-path',
'--type', hashtype, '--name', name]
proc = subprocess.run(cmd, stdout=subprocess.PIPE, check=True,
universal_newlines=True)
return proc.stdout.split('\n')[1].strip()
@ -114,7 +121,7 @@ def get_packages_from_download_list():
Groups lines according to their order within the file, to support
packages that are listed in `download.lst` more than once.
"""
keys = ['tarball', 'md5', 'brief']
keys = ['tarball', 'md5', 'sha256', 'brief']
a = {k: [x for x in xs if k in x['attrs']] for k in keys}
return zip(*[a[k] for k in keys])
@ -220,7 +227,7 @@ def sub_symbols(xs):
def get_value(k):
x = symbols.get(k)
return x['value'] if x is not None else None
return x['value'] if x is not None else ''
for x in xs:
yield dict_merge([{'value': sub_str(x['value'], get_value)},
@ -249,7 +256,7 @@ def interpret(x):
Output: One of 1. Dict with keys 'name' and 'attrs'
2. 'unrecognized' (if interpretation failed)
"""
for f in [interpret_md5, interpret_tarball_with_md5, interpret_tarball]:
for f in [interpret_md5, interpret_sha256, interpret_tarball_with_md5, interpret_tarball]:
result = f(x)
if result is not None:
return result
@ -267,8 +274,14 @@ def interpret_md5(x):
if match:
return {'name': match.group(1),
'attrs': {'md5': x['value']}}
'attrs': {'md5': x['value'], 'sha256': ''}}
def interpret_sha256(x):
match = re.match('^(.*)_SHA256SUM$', x['key'])
if match:
return {'name': match.group(1),
'attrs': {'sha256': x['value'], 'md5': ''}}
def interpret_tarball(x):
"""
@ -301,6 +314,7 @@ def interpret_tarball_with_md5(x):
return {'name': match['key'].group(1),
'attrs': {'tarball': match['value'].group('tarball'),
'md5': match['value'].group('md5'),
'sha256': '',
'brief': False}}

View file

@ -14,18 +14,18 @@
md5name = "ce977548f1cbf46918e93cd38ac35163-commons-logging-1.2-src.tar.gz";
}
{
name = "apr-1.4.8.tar.gz";
url = "http://dev-www.libreoffice.org/src/apr-1.4.8.tar.gz";
sha256 = "1689e415bdfab6aaa41f07836b5dd9ed4901d22ddeb99feffdb2cee3124adf49";
md5 = "eff9d741b0999a9bbab96862dd2a2a3d";
md5name = "eff9d741b0999a9bbab96862dd2a2a3d-apr-1.4.8.tar.gz";
name = "apr-1.5.2.tar.gz";
url = "http://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
md5 = "98492e965963f852ab29f9e61b2ad700";
md5name = "98492e965963f852ab29f9e61b2ad700-apr-1.5.2.tar.gz";
}
{
name = "apr-util-1.5.3.tar.gz";
url = "http://dev-www.libreoffice.org/src/apr-util-1.5.3.tar.gz";
sha256 = "76db34cb508e346e3bf69347c29ed1500bf0b71bcc48d54271ad9d1c25703743";
md5 = "71a11d037240b292f824ba1eb537b4e3";
md5name = "71a11d037240b292f824ba1eb537b4e3-apr-util-1.5.3.tar.gz";
name = "apr-util-1.5.4.tar.gz";
url = "http://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
md5 = "866825c04da827c6e5f53daff5569f42";
md5name = "866825c04da827c6e5f53daff5569f42-apr-util-1.5.4.tar.gz";
}
{
name = "boost_1_60_0.tar.bz2";
@ -56,18 +56,18 @@
md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
}
{
name = "cairo-1.10.2.tar.gz";
url = "http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz";
sha256 = "32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41";
md5 = "f101a9e88b783337b20b2e26dfd26d5f";
md5name = "f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz";
name = "cairo-1.14.6.tar.xz";
url = "http://dev-www.libreoffice.org/src/23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
sha256 = "613cb38447b76a93ff7235e17acd55a78b52ea84a9df128c3f2257f8eaa7b252";
md5 = "23a0b2f0235431d35238df1d3a517fdb";
md5name = "23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
}
{
name = "libcdr-0.1.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libcdr-0.1.2.tar.bz2";
sha256 = "d05a986dab9f960e64466072653a900d03f8257b084440d9d16599e16060581e";
md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2";
md5name = "6e3062b55b149d7b3c6aedb3bb5b86e2-libcdr-0.1.2.tar.bz2";
name = "libcdr-0.1.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libcdr-0.1.3.tar.bz2";
sha256 = "5160bbbfefe52bd4880840fad2b07a512813e37bfaf8ccac062fca238f230f4d";
md5 = "e369f30b5b861ee0fc4f9e6cbad701fe";
md5name = "e369f30b5b861ee0fc4f9e6cbad701fe-libcdr-0.1.3.tar.bz2";
}
{
name = "clucene-core-2.3.3.4.tar.gz";
@ -140,18 +140,18 @@
md5name = "77ff46936dcc83670557274e7dd2aa33-libetonyek-0.1.6.tar.bz2";
}
{
name = "expat-2.2.0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/expat-2.2.0.tar.bz2";
sha256 = "d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff";
md5 = "2f47841c829facb346eb6e3fab5212e2";
md5name = "2f47841c829facb346eb6e3fab5212e2-expat-2.2.0.tar.bz2";
name = "expat-2.2.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/expat-2.2.3.tar.bz2";
sha256 = "b31890fb02f85c002a67491923f89bda5028a880fd6c374f707193ad81aace5f";
md5 = "f053af63ef5f39bd9b78d01fbc203334";
md5name = "f053af63ef5f39bd9b78d01fbc203334-expat-2.2.3.tar.bz2";
}
{
name = "Firebird-2.5.5.26952-0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/Firebird-2.5.5.26952-0.tar.bz2";
sha256 = "b33e63ede88184d9ef2ae6760537ab75bfe641513821410b83e837946162b7d1";
md5 = "b0b5293991fcf07347b38431c80be1d4";
md5name = "b0b5293991fcf07347b38431c80be1d4-Firebird-2.5.5.26952-0.tar.bz2";
name = "Firebird-3.0.0.32483-0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
md5 = "821260b61dafc22899d1464d4e91ee6a";
md5name = "821260b61dafc22899d1464d4e91ee6a-Firebird-3.0.0.32483-0.tar.bz2";
}
{
name = "fontconfig-2.8.0.tar.gz";
@ -175,18 +175,18 @@
md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
}
{
name = "dejavu-fonts-ttf-2.35.zip";
url = "http://dev-www.libreoffice.org/src/d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip";
sha256 = "7e0d00f20080784c3a38a845d5858c161af14f0073d9474cdbfdedae883cc747";
md5 = "d8b5214d35bcd2bfcb2cffa7795b351d";
md5name = "d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip";
name = "dejavu-fonts-ttf-2.37.zip";
url = "http://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
sha256 = "7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a";
md5 = "33e1e61fab06a547851ed308b4ffef42";
md5name = "33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
}
{
name = "gentiumbasic-fonts-1.10.zip";
url = "http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip";
sha256 = "f1691e48d02effdee0701622297394451759f13e0e0b36e788847f4b3e2ba11b";
md5 = "35efabc239af896dfb79be7ebdd6e6b9";
md5name = "35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip";
name = "GentiumBasic_1102.zip";
url = "http://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
sha256 = "2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc";
md5 = "1725634df4bb3dcb1b2c91a6175f8789";
md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
}
{
name = "liberation-fonts-ttf-1.07.4.tar.gz";
@ -237,6 +237,13 @@
md5 = "edc4d741888bc0d38e32dbaa17149596";
md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
}
{
name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
md5 = "919389b307ee8696288ea3b8210ab974";
md5name = "919389b307ee8696288ea3b8210ab974-EmojiOneColor-SVGinOT-1.3.tar.gz";
}
{
name = "libfreehand-0.1.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2";
@ -266,25 +273,18 @@
md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip";
}
{
name = "glyphy-0.2.0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2";
sha256 = "9a8f629f7ea40ba118199a37adee8f2dfb084cffa5f7f4db3a47b8b0075777be";
md5 = "5d303fb955beb9bf112267316ca9d021";
md5name = "5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2";
name = "graphite2-minimal-1.3.10.tgz";
url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.10.tgz";
sha256 = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9";
md5 = "9c499b8ec9f1b81fd0bb6a3b986f4b0f";
md5name = "9c499b8ec9f1b81fd0bb6a3b986f4b0f-graphite2-minimal-1.3.10.tgz";
}
{
name = "graphite2-minimal-1.3.8.tgz";
url = "http://dev-www.libreoffice.org/src/4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz";
sha256 = "d16940175822760753e9762d0af9679c9726e64f25955677fe7ab68448601c3b";
md5 = "4311dd9ace498b57c85f611e0670df64";
md5name = "4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz";
}
{
name = "harfbuzz-1.2.6.tar.bz2";
url = "http://dev-www.libreoffice.org/src/harfbuzz-1.2.6.tar.bz2";
sha256 = "7537bacccb3524df0cd2a4d5bc7e168bcc10e8171e0324f3cd522583868192c1";
md5 = "9f4b6831c86135faef011e991f59f77f";
md5name = "9f4b6831c86135faef011e991f59f77f-harfbuzz-1.2.6.tar.bz2";
name = "harfbuzz-1.3.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/harfbuzz-1.3.2.tar.bz2";
sha256 = "8543a6372f08c5987c632dfaa86210c7edb3f43fbacd96095c609bc3539ce027";
md5 = "5986e1bfcd983d1f6caa53ef64c4abc5";
md5name = "5986e1bfcd983d1f6caa53ef64c4abc5-harfbuzz-1.3.2.tar.bz2";
}
{
name = "hsqldb_1_8_0.zip";
@ -294,11 +294,11 @@
md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
}
{
name = "hunspell-1.4.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz";
sha256 = "c4476aff0ced52eec334eae1e8d3fdaaebdd90f5ecd0b57cf2a92a6fd220d1bb";
md5 = "33d370f7fe5a030985e445a5672b2067";
md5name = "33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz";
name = "hunspell-1.6.0.tar.gz";
url = "http://dev-www.libreoffice.org/src/047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz";
sha256 = "512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2";
md5 = "047c3feb121261b76dc16cdb62f54483";
md5name = "047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz";
}
{
name = "hyphen-2.8.8.tar.gz";
@ -308,11 +308,11 @@
md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
}
{
name = "icu4c-57_1-src.tgz";
url = "http://dev-www.libreoffice.org/src/976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz";
sha256 = "ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581";
md5 = "976734806026a4ef8bdd17937c8898b9";
md5name = "976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz";
name = "icu4c-58_1-src.tgz";
url = "http://dev-www.libreoffice.org/src/1901302aaff1c1633ef81862663d2917-icu4c-58_1-src.tgz";
sha256 = "0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309";
md5 = "1901302aaff1c1633ef81862663d2917";
md5name = "1901302aaff1c1633ef81862663d2917-icu4c-58_1-src.tgz";
}
{
name = "flow-engine-0.9.4.zip";
@ -406,11 +406,11 @@
md5name = "86b0d5f7507c2e6c21c00219162c3c44-libjpeg-turbo-1.4.2.tar.gz";
}
{
name = "language-subtag-registry-2016-07-19.tar.bz2";
url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2016-07-19.tar.bz2";
sha256 = "e3dc30bdbfdad442c542dc0e165df9d8d2ba06a357cd55957155d8259d1661dc";
md5 = "8a037dc60b16bf8c5fe871b33390a4a2";
md5name = "8a037dc60b16bf8c5fe871b33390a4a2-language-subtag-registry-2016-07-19.tar.bz2";
name = "language-subtag-registry-2017-04-19.tar.bz2";
url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2017-04-19.tar.bz2";
sha256 = "8333809eec6fce852a1d6de68859962106e13a84705417efb03452164da3ee7a";
md5 = "59a3595c1052c5b51f996f44fe9994b9";
md5name = "59a3595c1052c5b51f996f44fe9994b9-language-subtag-registry-2017-04-19.tar.bz2";
}
{
name = "JLanguageTool-1.7.0.tar.bz2";
@ -455,18 +455,25 @@
md5name = "d63a9f47ab048f5009d90693d6aa6424-libgltf-0.0.2.tar.bz2";
}
{
name = "liblangtag-0.5.8.tar.bz2";
url = "http://dev-www.libreoffice.org/src/aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2";
sha256 = "08e2f64bfe3f750be7391eb0af53967e164b628c59f02be4d83789eb4f036eaa";
md5 = "aa899eff126216dafe721149fbdb511b";
md5name = "aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2";
name = "liblangtag-0.6.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
md5 = "284f120247323a35122ab32b4b359c45";
md5name = "284f120247323a35122ab32b4b359c45-liblangtag-0.6.2.tar.bz2";
}
{
name = "xmlsec1-1.2.20.tar.gz";
url = "http://dev-www.libreoffice.org/src/ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz";
sha256 = "3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305";
md5 = "ce12af00283eb90d9281956524250d6e";
md5name = "ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz";
name = "ltm-1.0.zip";
url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip";
sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
md5 = "da283d2e3e72137d0c600ac36b991c9d";
md5name = "da283d2e3e72137d0c600ac36b991c9d-ltm-1.0.zip";
}
{
name = "xmlsec1-1.2.23.tar.gz";
url = "http://dev-www.libreoffice.org/src/86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
sha256 = "41d463d16c9894cd3317098d027c038039c6d896b9cbb9bad9c4e29959e10e9f";
md5 = "86b1daaa438f5a7bea9a52d7b9799ac0";
md5name = "86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
}
{
name = "libxml2-2.9.4.tar.gz";
@ -518,11 +525,11 @@
md5name = "ff9d0f9dd8fbc523408ea1953d5bde41-libmspub-0.1.2.tar.bz2";
}
{
name = "libmwaw-0.3.7.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.7.tar.bz2";
sha256 = "a66b3e45a5ba5dd89849a766e128585cac8aaf9e9c6f037040200e5bf31f1427";
md5 = "4a8a53a9d997cf0e2bd208178797dbfb";
md5name = "4a8a53a9d997cf0e2bd208178797dbfb-libmwaw-0.3.7.tar.bz2";
name = "libmwaw-0.3.9.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.9.tar.bz2";
sha256 = "11a1f318431a052e1d623385351c8e659377d36db3e71e188af55da87ce9461f";
md5 = "d8532ad5630d3f3b2189a7ec5639151b";
md5name = "d8532ad5630d3f3b2189a7ec5639151b-libmwaw-0.3.9.tar.bz2";
}
{
name = "mysql-connector-c++-1.1.4.tar.gz";
@ -546,11 +553,11 @@
md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz";
}
{
name = "nss-3.27-with-nspr-4.13.tar.gz";
url = "http://dev-www.libreoffice.org/src/0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
sha256 = "c74ad468ed5da0304b58ec56fa627fa388b256451b1a44fd184145c6d8203820";
md5 = "0e3eee39402386cf16fd7aaa7399ebef";
md5name = "0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
name = "nss-3.29.5-with-nspr-4.13.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/nss-3.29.5-with-nspr-4.13.1.tar.gz";
sha256 = "8cb8624147737d1b4587c50bf058afbb6effc0f3c205d69b5ef4077b3bfed0e4";
md5 = "e55ee06b22687df68fafc6a30c0554b2";
md5name = "e55ee06b22687df68fafc6a30c0554b2-nss-3.29.5-with-nspr-4.13.1.tar.gz";
}
{
name = "libodfgen-0.1.6.tar.bz2";
@ -559,6 +566,20 @@
md5 = "32572ea48d9021bbd6fa317ddb697abc";
md5name = "32572ea48d9021bbd6fa317ddb697abc-libodfgen-0.1.6.tar.bz2";
}
{
name = "odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
url = "http://dev-www.libreoffice.org/src/../extern/a084cd548b586552cb7d3ee51f1af969-odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
sha256 = "a0bd3e0186e043223bfb231a888e2bfb06c78ee2e07c2f0eca434236d173cf34";
md5 = "a084cd548b586552cb7d3ee51f1af969";
md5name = "a084cd548b586552cb7d3ee51f1af969-odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
}
{
name = "officeotron-0.7.4-master.jar";
url = "http://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
sha256 = "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770";
md5 = "8249374c274932a21846fa7629c2aa9b";
md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
}
{
name = "OpenCOLLADA-master-6509aa13af.tar.bz2";
url = "http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2";
@ -567,11 +588,11 @@
md5name = "4ca8a6ef0afeefc864e9ef21b9f14bd6-OpenCOLLADA-master-6509aa13af.tar.bz2";
}
{
name = "openldap-2.4.31.tgz";
url = "http://dev-www.libreoffice.org/src/804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz";
sha256 = "bde845840df4794b869a6efd6a6b1086f80989038e4844b2e4d7d6b57b39c5b6";
md5 = "804c6cb5698db30b75ad0ff1c25baefd";
md5name = "804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz";
name = "openldap-2.4.44.tgz";
url = "http://dev-www.libreoffice.org/src/openldap-2.4.44.tgz";
sha256 = "d7de6bf3c67009c95525dde3a0212cc110d0a70b92af2af8e3ee800e81b88400";
md5 = "693ac26de86231f8dcae2b4e9d768e51";
md5name = "693ac26de86231f8dcae2b4e9d768e51-openldap-2.4.44.tgz";
}
{
name = "openssl-1.0.2h.tar.gz";
@ -581,11 +602,11 @@
md5name = "9392e65072ce4b614c1392eefc1f23d0-openssl-1.0.2h.tar.gz";
}
{
name = "liborcus-0.11.2.tar.gz";
url = "http://dev-www.libreoffice.org/src/liborcus-0.11.2.tar.gz";
sha256 = "10afc617fd7600fa02bd4467d2e3c7bd058f84e4d672d558e1db90e82dafd256";
md5 = "205badaee72adf99422add8c4c49d669";
md5name = "205badaee72adf99422add8c4c49d669-liborcus-0.11.2.tar.gz";
name = "liborcus-0.12.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/liborcus-0.12.1.tar.gz";
sha256 = "676b1fedd721f64489650f5e76d7f98b750439914d87cae505b8163d08447908";
md5 = "d0ad3a2fcf7008e5b33604bab33df3ad";
md5name = "d0ad3a2fcf7008e5b33604bab33df3ad-liborcus-0.12.1.tar.gz";
}
{
name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
@ -602,11 +623,11 @@
md5name = "5c4985a68be0b79d3f809da5e12b143c-libpagemaker-0.0.3.tar.bz2";
}
{
name = "pixman-0.24.4.tar.bz2";
url = "http://dev-www.libreoffice.org/src/c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2";
sha256 = "3d1bf79329be76103c7d9632a79962178364371807104a10e5f63ae0551731dc";
md5 = "c63f411b3ad147db2bcce1bf262a0e02";
md5name = "c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2";
name = "pixman-0.34.0.tar.gz";
url = "http://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
md5 = "e80ebae4da01e77f68744319f01d52a3";
md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
}
{
name = "libpng-1.6.28.tar.gz";
@ -616,11 +637,11 @@
md5name = "897ccec1ebfb0922e83c2bfaa1be8748-libpng-1.6.28.tar.gz";
}
{
name = "poppler-0.46.0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/poppler-0.46.0.tar.bz2";
sha256 = "e3b53c4d1baffb047d4752d68886210fcb279e75cc32c0c61c7165e4d4cf846a";
md5 = "38c758d84437378ec4f5aae9f875301d";
md5name = "38c758d84437378ec4f5aae9f875301d-poppler-0.46.0.tar.bz2";
name = "poppler-0.49.0.tar.xz";
url = "http://dev-www.libreoffice.org/src/poppler-0.49.0.tar.xz";
sha256 = "14485f0e1e43dcddf49cfc02c2ccb92910ba3e0e91e06f4bd2642ec00cb3a79f";
md5 = "9e057ed8eee1f9979fa75d8f044783b8";
md5name = "9e057ed8eee1f9979fa75d8f044783b8-poppler-0.49.0.tar.xz";
}
{
name = "postgresql-9.2.1.tar.bz2";
@ -637,32 +658,32 @@
md5name = "803a75927f8f241ca78633890c798021-Python-3.3.5.tgz";
}
{
name = "Python-3.5.0.tgz";
url = "http://dev-www.libreoffice.org/src/Python-3.5.0.tgz";
sha256 = "584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0";
md5 = "a56c0c0b45d75a0ec9c6dee933c41c36";
md5name = "a56c0c0b45d75a0ec9c6dee933c41c36-Python-3.5.0.tgz";
name = "Python-3.5.4.tgz";
url = "http://dev-www.libreoffice.org/src/Python-3.5.4.tgz";
sha256 = "6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44";
md5 = "2ed4802b7a2a7e40d2e797272bf388ec";
md5name = "2ed4802b7a2a7e40d2e797272bf388ec-Python-3.5.4.tgz";
}
{
name = "raptor2-2.0.9.tar.gz";
url = "http://dev-www.libreoffice.org/src/4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz";
sha256 = "e26fb9c18e6ebf71100f434070d50196a21d592b715e361850c3b4e789b5f6ef";
md5 = "4ceb9316488b0ea01acf011023cf7fff";
md5name = "4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz";
name = "raptor2-2.0.15.tar.gz";
url = "http://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
md5 = "a39f6c07ddb20d7dd2ff1f95fa21e2cd";
md5name = "a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
}
{
name = "rasqal-0.9.30.tar.gz";
url = "http://dev-www.libreoffice.org/src/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz";
sha256 = "abf0e93d80cc79bdf383fd3e904255bf98bc729356d6cf2f673bce74b08b1cfd";
md5 = "b12c5f9cfdb6b04efce5a4a186b8416b";
md5name = "b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz";
name = "rasqal-0.9.33.tar.gz";
url = "http://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
sha256 = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c";
md5 = "1f5def51ca0026cd192958ef07228b52";
md5name = "1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
}
{
name = "redland-1.0.16.tar.gz";
url = "http://dev-www.libreoffice.org/src/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz";
sha256 = "d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd";
md5 = "32f8e1417a64d3c6f2c727f9053f55ea";
md5name = "32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz";
name = "redland-1.0.17.tar.gz";
url = "http://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
md5 = "e5be03eda13ef68aabab6e42aa67715e";
md5name = "e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
}
{
name = "librevenge-0.0.4.tar.bz2";
@ -685,6 +706,13 @@
md5 = "4f8e76c9c6567aee1d66aba49f76a58b";
md5name = "4f8e76c9c6567aee1d66aba49f76a58b-serf-1.2.1.tar.bz2";
}
{
name = "libstaroffice-0.0.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.2.tar.bz2";
sha256 = "f06eb29d13357f1aa1944de0be1162de05d9f9333b5f54e9bf762415029a8899";
md5 = "4012950240c2bf768c9b29ad376123d7";
md5name = "4012950240c2bf768c9b29ad376123d7-libstaroffice-0.0.2.tar.bz2";
}
{
name = "swingExSrc.zip";
url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
@ -721,11 +749,11 @@
md5name = "dfd066658ec9d2fb2262417039a8a1c3-libwpg-0.3.1.tar.bz2";
}
{
name = "libwps-0.4.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libwps-0.4.3.tar.bz2";
sha256 = "0c30407865a873ff76b6d5b2d2aa599f6af68936638c81ca8292449324042a6c";
md5 = "027fb17fb9e43553aa6624dc18f830ac";
md5name = "027fb17fb9e43553aa6624dc18f830ac-libwps-0.4.3.tar.bz2";
name = "libwps-0.4.4.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libwps-0.4.4.tar.bz2";
sha256 = "387c46d9543bb566381fddb8991e2838599fc500ee132fef9631a704c5cbed73";
md5 = "dcfd1d18bfa9818cf3ab21663ba857a3";
md5name = "dcfd1d18bfa9818cf3ab21663ba857a3-libwps-0.4.4.tar.bz2";
}
{
name = "xsltml_2.1.2.zip";
@ -741,4 +769,11 @@
md5 = "44d667c142d7cda120332623eab69f40";
md5name = "44d667c142d7cda120332623eab69f40-zlib-1.2.8.tar.gz";
}
{
name = "libzmf-0.0.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libzmf-0.0.1.tar.bz2";
sha256 = "b69f7f6e94cf695c4b672ca65def4825490a1e7dee34c2126309b96d21a19e6b";
md5 = "c611df8664240de0276ab95670f413d8";
md5name = "c611df8664240de0276ab95670f413d8-libzmf-0.0.1.tar.bz2";
}
]

View file

@ -3,43 +3,43 @@
name = "libabw-0.1.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libabw-0.1.1.tar.bz2";
sha256 = "7a3d3415cf82ab9894f601d1b3057c4615060304d5279efdec6275e01b96a199";
md5 = "7a3815b506d064313ba309617b6f5a0b";
md5name = "7a3815b506d064313ba309617b6f5a0b-libabw-0.1.1.tar.bz2";
md5 = "";
md5name = "-libabw-0.1.1.tar.bz2";
}
{
name = "commons-logging-1.2-src.tar.gz";
url = "http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81";
md5 = "ce977548f1cbf46918e93cd38ac35163";
md5name = "ce977548f1cbf46918e93cd38ac35163-commons-logging-1.2-src.tar.gz";
md5 = "";
md5name = "-commons-logging-1.2-src.tar.gz";
}
{
name = "apr-1.5.2.tar.gz";
url = "http://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
md5 = "98492e965963f852ab29f9e61b2ad700";
md5name = "98492e965963f852ab29f9e61b2ad700-apr-1.5.2.tar.gz";
md5 = "";
md5name = "-apr-1.5.2.tar.gz";
}
{
name = "apr-util-1.5.4.tar.gz";
url = "http://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
md5 = "866825c04da827c6e5f53daff5569f42";
md5name = "866825c04da827c6e5f53daff5569f42-apr-util-1.5.4.tar.gz";
md5 = "";
md5name = "-apr-util-1.5.4.tar.gz";
}
{
name = "boost_1_60_0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/boost_1_60_0.tar.bz2";
sha256 = "686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b";
md5 = "65a840e1a0b13a558ff19eeb2c4f0cbe";
md5name = "65a840e1a0b13a558ff19eeb2c4f0cbe-boost_1_60_0.tar.bz2";
name = "boost_1_63_0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/boost_1_63_0.tar.bz2";
sha256 = "beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0";
md5 = "";
md5name = "-boost_1_63_0.tar.bz2";
}
{
name = "breakpad.zip";
url = "http://dev-www.libreoffice.org/src/breakpad.zip";
sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
md5 = "415ce291aa6f2ee1d5db7b62bf62ade8";
md5name = "415ce291aa6f2ee1d5db7b62bf62ade8-breakpad.zip";
md5 = "";
md5name = "-breakpad.zip";
}
{
name = "bsh-2.0b6-src.zip";
@ -56,18 +56,18 @@
md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
}
{
name = "cairo-1.14.6.tar.xz";
url = "http://dev-www.libreoffice.org/src/23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
sha256 = "613cb38447b76a93ff7235e17acd55a78b52ea84a9df128c3f2257f8eaa7b252";
md5 = "23a0b2f0235431d35238df1d3a517fdb";
md5name = "23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
name = "cairo-1.14.8.tar.xz";
url = "http://dev-www.libreoffice.org/src/cairo-1.14.8.tar.xz";
sha256 = "d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20";
md5 = "";
md5name = "-cairo-1.14.8.tar.xz";
}
{
name = "libcdr-0.1.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libcdr-0.1.3.tar.bz2";
sha256 = "5160bbbfefe52bd4880840fad2b07a512813e37bfaf8ccac062fca238f230f4d";
md5 = "e369f30b5b861ee0fc4f9e6cbad701fe";
md5name = "e369f30b5b861ee0fc4f9e6cbad701fe-libcdr-0.1.3.tar.bz2";
md5 = "";
md5name = "-libcdr-0.1.3.tar.bz2";
}
{
name = "clucene-core-2.3.3.4.tar.gz";
@ -80,15 +80,15 @@
name = "libcmis-0.5.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz";
sha256 = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e";
md5 = "3270154f0f40d86fce849b161f914101";
md5name = "3270154f0f40d86fce849b161f914101-libcmis-0.5.1.tar.gz";
md5 = "";
md5name = "-libcmis-0.5.1.tar.gz";
}
{
name = "CoinMP-1.7.6.tgz";
url = "http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
md5 = "1cce53bf4b40ae29790d2c5c9f8b1129";
md5name = "1cce53bf4b40ae29790d2c5c9f8b1129-CoinMP-1.7.6.tgz";
md5 = "";
md5name = "-CoinMP-1.7.6.tgz";
}
{
name = "collada2gltf-master-cb1d97788a.tar.bz2";
@ -98,11 +98,11 @@
md5name = "4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2";
}
{
name = "cppunit-1.13.2.tar.gz";
url = "http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz";
sha256 = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f";
md5 = "d1c6bdd5a76c66d2c38331e2d287bc01";
md5name = "d1c6bdd5a76c66d2c38331e2d287bc01-cppunit-1.13.2.tar.gz";
name = "cppunit-1.14.0.tar.gz";
url = "http://dev-www.libreoffice.org/src/cppunit-1.14.0.tar.gz";
sha256 = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780";
md5 = "";
md5name = "-cppunit-1.14.0.tar.gz";
}
{
name = "converttexttonumber-1-5-0.oxt";
@ -115,15 +115,22 @@
name = "curl-7.52.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/curl-7.52.1.tar.gz";
sha256 = "a8984e8b20880b621f61a62d95ff3c0763a3152093a9f9ce4287cfd614add6ae";
md5 = "4e1ef056e117b4d25f4ec42ac609c0d4";
md5name = "4e1ef056e117b4d25f4ec42ac609c0d4-curl-7.52.1.tar.gz";
md5 = "";
md5name = "-curl-7.52.1.tar.gz";
}
{
name = "libe-book-0.1.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libe-book-0.1.2.tar.bz2";
sha256 = "b710a57c633205b933015474d0ac0862253d1c52114d535dd09b20939a0d1850";
md5 = "6b48eda57914e6343efebc9381027b78";
md5name = "6b48eda57914e6343efebc9381027b78-libe-book-0.1.2.tar.bz2";
md5 = "";
md5name = "-libe-book-0.1.2.tar.bz2";
}
{
name = "libepoxy-1.3.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libepoxy-1.3.1.tar.bz2";
sha256 = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64";
md5 = "";
md5name = "-libepoxy-1.3.1.tar.bz2";
}
{
name = "epm-3.7.tar.gz";
@ -136,29 +143,29 @@
name = "libetonyek-0.1.6.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.6.tar.bz2";
sha256 = "032f53e8d7691e48a73ddbe74fa84c906ff6ff32a33e6ee2a935b6fdb6aecb78";
md5 = "77ff46936dcc83670557274e7dd2aa33";
md5name = "77ff46936dcc83670557274e7dd2aa33-libetonyek-0.1.6.tar.bz2";
md5 = "";
md5name = "-libetonyek-0.1.6.tar.bz2";
}
{
name = "expat-2.2.0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/expat-2.2.0.tar.bz2";
sha256 = "d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff";
md5 = "2f47841c829facb346eb6e3fab5212e2";
md5name = "2f47841c829facb346eb6e3fab5212e2-expat-2.2.0.tar.bz2";
name = "expat-2.2.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/expat-2.2.3.tar.bz2";
sha256 = "b31890fb02f85c002a67491923f89bda5028a880fd6c374f707193ad81aace5f";
md5 = "";
md5name = "-expat-2.2.3.tar.bz2";
}
{
name = "Firebird-3.0.0.32483-0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
md5 = "821260b61dafc22899d1464d4e91ee6a";
md5name = "821260b61dafc22899d1464d4e91ee6a-Firebird-3.0.0.32483-0.tar.bz2";
md5 = "";
md5name = "-Firebird-3.0.0.32483-0.tar.bz2";
}
{
name = "fontconfig-2.8.0.tar.gz";
url = "http://dev-www.libreoffice.org/src/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz";
sha256 = "fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335";
md5 = "77e15a92006ddc2adbb06f840d591c0e";
md5name = "77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz";
name = "fontconfig-2.12.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/fontconfig-2.12.1.tar.bz2";
sha256 = "b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3";
md5 = "";
md5name = "-fontconfig-2.12.1.tar.bz2";
}
{
name = "crosextrafonts-20130214.tar.gz";
@ -241,29 +248,22 @@
name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
md5 = "919389b307ee8696288ea3b8210ab974";
md5name = "919389b307ee8696288ea3b8210ab974-EmojiOneColor-SVGinOT-1.3.tar.gz";
md5 = "";
md5name = "-EmojiOneColor-SVGinOT-1.3.tar.gz";
}
{
name = "libfreehand-0.1.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2";
sha256 = "45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877";
md5 = "8cf70c5dc4d24d2dc4a107f509d2d6d7";
md5name = "8cf70c5dc4d24d2dc4a107f509d2d6d7-libfreehand-0.1.1.tar.bz2";
md5 = "";
md5name = "-libfreehand-0.1.1.tar.bz2";
}
{
name = "freetype-2.4.8.tar.bz2";
url = "http://dev-www.libreoffice.org/src/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2";
sha256 = "a9eb7da3875fcb2f022a9c280c01b94ae45ac83d8102838c05dce1277948fb71";
md5 = "dbf2caca1d3afd410a29217a9809d397";
md5name = "dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2";
}
{
name = "glew-1.12.0.zip";
url = "http://dev-www.libreoffice.org/src/3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip";
sha256 = "6f1083eb034efbc3b2017ef052d58f3e9bd70963ec2acd26b3d59231ee1633d4";
md5 = "3941e9cab2f4f9d8faee3e8d57ae7664";
md5name = "3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip";
name = "freetype-2.7.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/freetype-2.7.1.tar.bz2";
sha256 = "3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88";
md5 = "";
md5name = "-freetype-2.7.1.tar.bz2";
}
{
name = "glm-0.9.4.6-libreoffice.zip";
@ -273,18 +273,25 @@
md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip";
}
{
name = "graphite2-minimal-1.3.9.tgz";
url = "http://dev-www.libreoffice.org/src/3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz";
sha256 = "4fcbfa52527fd6fd6b54786c82bdbb96ec6b34fa2e799361e5164b6bbb671b76";
md5 = "3069842a88b8f40c6b83ad2850cda293";
md5name = "3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz";
name = "gpgme-1.8.0.tar.bz2";
url = "http://dev-www.libreoffice.org/src/gpgme-1.8.0.tar.bz2";
sha256 = "596097257c2ce22e747741f8ff3d7e24f6e26231fa198a41b2a072e62d1e5d33";
md5 = "";
md5name = "-gpgme-1.8.0.tar.bz2";
}
{
name = "graphite2-minimal-1.3.10.tgz";
url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.10.tgz";
sha256 = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9";
md5 = "";
md5name = "-graphite2-minimal-1.3.10.tgz";
}
{
name = "harfbuzz-1.3.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/harfbuzz-1.3.2.tar.bz2";
sha256 = "8543a6372f08c5987c632dfaa86210c7edb3f43fbacd96095c609bc3539ce027";
md5 = "5986e1bfcd983d1f6caa53ef64c4abc5";
md5name = "5986e1bfcd983d1f6caa53ef64c4abc5-harfbuzz-1.3.2.tar.bz2";
md5 = "";
md5name = "-harfbuzz-1.3.2.tar.bz2";
}
{
name = "hsqldb_1_8_0.zip";
@ -392,25 +399,18 @@
md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
}
{
name = "jpegsrc.v9a.tar.gz";
url = "http://dev-www.libreoffice.org/src/jpegsrc.v9a.tar.gz";
sha256 = "3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7";
md5 = "3353992aecaee1805ef4109aadd433e7";
md5name = "3353992aecaee1805ef4109aadd433e7-jpegsrc.v9a.tar.gz";
name = "libjpeg-turbo-1.5.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.1.tar.gz";
sha256 = "41429d3d253017433f66e3d472b8c7d998491d2f41caa7306b8d9a6f2a2c666c";
md5 = "";
md5name = "-libjpeg-turbo-1.5.1.tar.gz";
}
{
name = "libjpeg-turbo-1.4.2.tar.gz";
url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.4.2.tar.gz";
sha256 = "521bb5d3043e7ac063ce3026d9a59cc2ab2e9636c655a2515af5f4706122233e";
md5 = "86b0d5f7507c2e6c21c00219162c3c44";
md5name = "86b0d5f7507c2e6c21c00219162c3c44-libjpeg-turbo-1.4.2.tar.gz";
}
{
name = "language-subtag-registry-2016-07-19.tar.bz2";
url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2016-07-19.tar.bz2";
sha256 = "e3dc30bdbfdad442c542dc0e165df9d8d2ba06a357cd55957155d8259d1661dc";
md5 = "8a037dc60b16bf8c5fe871b33390a4a2";
md5name = "8a037dc60b16bf8c5fe871b33390a4a2-language-subtag-registry-2016-07-19.tar.bz2";
name = "language-subtag-registry-2017-04-19.tar.bz2";
url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2017-04-19.tar.bz2";
sha256 = "8333809eec6fce852a1d6de68859962106e13a84705417efb03452164da3ee7a";
md5 = "";
md5name = "-language-subtag-registry-2017-04-19.tar.bz2";
}
{
name = "JLanguageTool-1.7.0.tar.bz2";
@ -420,25 +420,32 @@
md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
}
{
name = "lcms2-2.6.tar.gz";
url = "http://dev-www.libreoffice.org/src/lcms2-2.6.tar.gz";
sha256 = "5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1";
md5 = "f4c08d38ceade4a664ebff7228910a33";
md5name = "f4c08d38ceade4a664ebff7228910a33-lcms2-2.6.tar.gz";
name = "lcms2-2.8.tar.gz";
url = "http://dev-www.libreoffice.org/src/lcms2-2.8.tar.gz";
sha256 = "66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22";
md5 = "";
md5name = "-lcms2-2.8.tar.gz";
}
{
name = "libassuan-2.4.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libassuan-2.4.3.tar.bz2";
sha256 = "22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71";
md5 = "";
md5name = "-libassuan-2.4.3.tar.bz2";
}
{
name = "libatomic_ops-7_2d.zip";
url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip";
sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad";
md5 = "c0b86562d5aa40761a87134f83e6adcf";
md5name = "c0b86562d5aa40761a87134f83e6adcf-libatomic_ops-7_2d.zip";
md5 = "";
md5name = "-libatomic_ops-7_2d.zip";
}
{
name = "libeot-0.01.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a";
md5 = "aa24f5dd2a2992f4a116aa72af817548";
md5name = "aa24f5dd2a2992f4a116aa72af817548-libeot-0.01.tar.bz2";
md5 = "";
md5name = "-libeot-0.01.tar.bz2";
}
{
name = "libexttextcat-3.4.4.tar.bz2";
@ -448,32 +455,39 @@
md5name = "10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2";
}
{
name = "libgltf-0.0.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libgltf/libgltf-0.0.2.tar.bz2";
sha256 = "d1cc7297ed1921aa969e26413b4c4e18afc882ce4d2f5a2aa2a2905706f7206b";
md5 = "d63a9f47ab048f5009d90693d6aa6424";
md5name = "d63a9f47ab048f5009d90693d6aa6424-libgltf-0.0.2.tar.bz2";
name = "libgltf-0.1.0.tar.gz";
url = "http://dev-www.libreoffice.org/src/libgltf/libgltf-0.1.0.tar.gz";
sha256 = "119e730fbf002dd0eaafa4930167267d7d910aa17f29979ca9ca8b66625fd2da";
md5 = "";
md5name = "-libgltf-0.1.0.tar.gz";
}
{
name = "libgpg-error-1.26.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libgpg-error-1.26.tar.bz2";
sha256 = "4c4bcbc90116932e3acd37b37812d8653b1b189c1904985898e860af818aee69";
md5 = "";
md5name = "-libgpg-error-1.26.tar.bz2";
}
{
name = "liblangtag-0.6.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
md5 = "284f120247323a35122ab32b4b359c45";
md5name = "284f120247323a35122ab32b4b359c45-liblangtag-0.6.2.tar.bz2";
md5 = "";
md5name = "-liblangtag-0.6.2.tar.bz2";
}
{
name = "ltm-1.0.zip";
url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip";
sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
md5 = "da283d2e3e72137d0c600ac36b991c9d";
md5name = "da283d2e3e72137d0c600ac36b991c9d-ltm-1.0.zip";
md5 = "";
md5name = "-ltm-1.0.zip";
}
{
name = "xmlsec1-1.2.23.tar.gz";
url = "http://dev-www.libreoffice.org/src/86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
sha256 = "41d463d16c9894cd3317098d027c038039c6d896b9cbb9bad9c4e29959e10e9f";
md5 = "86b1daaa438f5a7bea9a52d7b9799ac0";
md5name = "86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
name = "xmlsec1-1.2.24.tar.gz";
url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.24.tar.gz";
sha256 = "99a8643f118bb1261a72162f83e2deba0f4f690893b4b90e1be4f708e8d481cc";
md5 = "";
md5name = "-xmlsec1-1.2.24.tar.gz";
}
{
name = "libxml2-2.9.4.tar.gz";
@ -507,29 +521,29 @@
name = "mdds-1.2.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/mdds-1.2.2.tar.bz2";
sha256 = "141e730b39110434b02cd844c5ad3442103f7c35f7e9a4d6a9f8af813594cc9d";
md5 = "8855cf852a6088cfdc792c6f7ceb0243";
md5name = "8855cf852a6088cfdc792c6f7ceb0243-mdds-1.2.2.tar.bz2";
md5 = "";
md5name = "-mdds-1.2.2.tar.bz2";
}
{
name = "mDNSResponder-576.30.4.tar.gz";
url = "http://dev-www.libreoffice.org/src/mDNSResponder-576.30.4.tar.gz";
sha256 = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0";
md5 = "940057ac8b513b00e8e9ca12ef796762";
md5name = "940057ac8b513b00e8e9ca12ef796762-mDNSResponder-576.30.4.tar.gz";
md5 = "";
md5name = "-mDNSResponder-576.30.4.tar.gz";
}
{
name = "libmspub-0.1.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libmspub-0.1.2.tar.bz2";
sha256 = "26d488527ffbb0b41686d4bab756e3e6aaeb99f88adeb169d0c16d2cde96859a";
md5 = "ff9d0f9dd8fbc523408ea1953d5bde41";
md5name = "ff9d0f9dd8fbc523408ea1953d5bde41-libmspub-0.1.2.tar.bz2";
md5 = "";
md5name = "-libmspub-0.1.2.tar.bz2";
}
{
name = "libmwaw-0.3.9.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.9.tar.bz2";
sha256 = "11a1f318431a052e1d623385351c8e659377d36db3e71e188af55da87ce9461f";
md5 = "d8532ad5630d3f3b2189a7ec5639151b";
md5name = "d8532ad5630d3f3b2189a7ec5639151b-libmwaw-0.3.9.tar.bz2";
name = "libmwaw-0.3.11.tar.xz";
url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.11.tar.xz";
sha256 = "4b483a196bbe82bc0f7cb4cdf70ef1cedb91139bd2e037eabaed4a4d6ed2299a";
md5 = "";
md5name = "-libmwaw-0.3.11.tar.xz";
}
{
name = "mysql-connector-c++-1.1.4.tar.gz";
@ -553,18 +567,18 @@
md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz";
}
{
name = "nss-3.27-with-nspr-4.13.tar.gz";
url = "http://dev-www.libreoffice.org/src/0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
sha256 = "c74ad468ed5da0304b58ec56fa627fa388b256451b1a44fd184145c6d8203820";
md5 = "0e3eee39402386cf16fd7aaa7399ebef";
md5name = "0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
name = "nss-3.29.5-with-nspr-4.13.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/nss-3.29.5-with-nspr-4.13.1.tar.gz";
sha256 = "8cb8624147737d1b4587c50bf058afbb6effc0f3c205d69b5ef4077b3bfed0e4";
md5 = "";
md5name = "-nss-3.29.5-with-nspr-4.13.1.tar.gz";
}
{
name = "libodfgen-0.1.6.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2";
md5 = "32572ea48d9021bbd6fa317ddb697abc";
md5name = "32572ea48d9021bbd6fa317ddb697abc-libodfgen-0.1.6.tar.bz2";
md5 = "";
md5name = "-libodfgen-0.1.6.tar.bz2";
}
{
name = "odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
@ -584,43 +598,50 @@
name = "OpenCOLLADA-master-6509aa13af.tar.bz2";
url = "http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2";
sha256 = "8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4";
md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6";
md5name = "4ca8a6ef0afeefc864e9ef21b9f14bd6-OpenCOLLADA-master-6509aa13af.tar.bz2";
md5 = "";
md5name = "-OpenCOLLADA-master-6509aa13af.tar.bz2";
}
{
name = "openldap-2.4.44.tgz";
url = "http://dev-www.libreoffice.org/src/openldap-2.4.44.tgz";
sha256 = "d7de6bf3c67009c95525dde3a0212cc110d0a70b92af2af8e3ee800e81b88400";
md5 = "693ac26de86231f8dcae2b4e9d768e51";
md5name = "693ac26de86231f8dcae2b4e9d768e51-openldap-2.4.44.tgz";
md5 = "";
md5name = "-openldap-2.4.44.tgz";
}
{
name = "openssl-1.0.2h.tar.gz";
url = "http://dev-www.libreoffice.org/src/openssl-1.0.2h.tar.gz";
sha256 = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919";
md5 = "9392e65072ce4b614c1392eefc1f23d0";
md5name = "9392e65072ce4b614c1392eefc1f23d0-openssl-1.0.2h.tar.gz";
name = "openssl-1.0.2k.tar.gz";
url = "http://dev-www.libreoffice.org/src/openssl-1.0.2k.tar.gz";
sha256 = "6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0";
md5 = "";
md5name = "-openssl-1.0.2k.tar.gz";
}
{
name = "liborcus-0.12.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/liborcus-0.12.1.tar.gz";
sha256 = "676b1fedd721f64489650f5e76d7f98b750439914d87cae505b8163d08447908";
md5 = "d0ad3a2fcf7008e5b33604bab33df3ad";
md5name = "d0ad3a2fcf7008e5b33604bab33df3ad-liborcus-0.12.1.tar.gz";
md5 = "";
md5name = "-liborcus-0.12.1.tar.gz";
}
{
name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
url = "http://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb";
md5 = "593f0aa47bf2efc0efda2d28fae063b2";
md5name = "593f0aa47bf2efc0efda2d28fae063b2-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
md5 = "";
md5name = "-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
}
{
name = "libpagemaker-0.0.3.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libpagemaker-0.0.3.tar.bz2";
sha256 = "3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33";
md5 = "5c4985a68be0b79d3f809da5e12b143c";
md5name = "5c4985a68be0b79d3f809da5e12b143c-libpagemaker-0.0.3.tar.bz2";
md5 = "";
md5name = "-libpagemaker-0.0.3.tar.bz2";
}
{
name = "pdfium-3064.tar.bz2";
url = "http://dev-www.libreoffice.org/src/pdfium-3064.tar.bz2";
sha256 = "ded806dc9e2a4005d8c0a6b7fcb232ab36221d72d9ff5b815e8244987299d883";
md5 = "";
md5name = "-pdfium-3064.tar.bz2";
}
{
name = "pixman-0.34.0.tar.gz";
@ -633,15 +654,15 @@
name = "libpng-1.6.28.tar.gz";
url = "http://dev-www.libreoffice.org/src/libpng-1.6.28.tar.gz";
sha256 = "b6cec903e74e9fdd7b5bbcde0ab2415dd12f2f9e84d9e4d9ddd2ba26a41623b2";
md5 = "897ccec1ebfb0922e83c2bfaa1be8748";
md5name = "897ccec1ebfb0922e83c2bfaa1be8748-libpng-1.6.28.tar.gz";
md5 = "";
md5name = "-libpng-1.6.28.tar.gz";
}
{
name = "poppler-0.49.0.tar.xz";
url = "http://dev-www.libreoffice.org/src/poppler-0.49.0.tar.xz";
sha256 = "14485f0e1e43dcddf49cfc02c2ccb92910ba3e0e91e06f4bd2642ec00cb3a79f";
md5 = "9e057ed8eee1f9979fa75d8f044783b8";
md5name = "9e057ed8eee1f9979fa75d8f044783b8-poppler-0.49.0.tar.xz";
name = "poppler-0.56.0.tar.xz";
url = "http://dev-www.libreoffice.org/src/poppler-0.56.0.tar.xz";
sha256 = "869dbadf99ed882e776acbdbc06689d8a81872a2963440b1e8516cd7a2577173";
md5 = "";
md5name = "-poppler-0.56.0.tar.xz";
}
{
name = "postgresql-9.2.1.tar.bz2";
@ -651,18 +672,11 @@
md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2";
}
{
name = "Python-3.3.5.tgz";
url = "http://dev-www.libreoffice.org/src/Python-3.3.5.tgz";
sha256 = "916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168";
md5 = "803a75927f8f241ca78633890c798021";
md5name = "803a75927f8f241ca78633890c798021-Python-3.3.5.tgz";
}
{
name = "Python-3.5.3.tgz";
url = "http://dev-www.libreoffice.org/src/Python-3.5.3.tgz";
sha256 = "d8890b84d773cd7059e597dbefa510340de8336ec9b9e9032bf030f19291565a";
md5 = "6192f0e45f02575590760e68c621a488";
md5name = "6192f0e45f02575590760e68c621a488-Python-3.5.3.tgz";
name = "Python-3.5.4.tgz";
url = "http://dev-www.libreoffice.org/src/Python-3.5.4.tgz";
sha256 = "6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44";
md5 = "";
md5name = "-Python-3.5.4.tgz";
}
{
name = "raptor2-2.0.15.tar.gz";
@ -689,8 +703,8 @@
name = "librevenge-0.0.4.tar.bz2";
url = "http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf";
md5 = "5b9ac52ec77d4d19157cf5962ebc0aea";
md5name = "5b9ac52ec77d4d19157cf5962ebc0aea-librevenge-0.0.4.tar.bz2";
md5 = "";
md5name = "-librevenge-0.0.4.tar.bz2";
}
{
name = "rhino1_5R5.zip";
@ -703,15 +717,15 @@
name = "serf-1.2.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700";
md5 = "4f8e76c9c6567aee1d66aba49f76a58b";
md5name = "4f8e76c9c6567aee1d66aba49f76a58b-serf-1.2.1.tar.bz2";
md5 = "";
md5name = "-serf-1.2.1.tar.bz2";
}
{
name = "libstaroffice-0.0.2.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.2.tar.bz2";
sha256 = "f06eb29d13357f1aa1944de0be1162de05d9f9333b5f54e9bf762415029a8899";
md5 = "4012950240c2bf768c9b29ad376123d7";
md5name = "4012950240c2bf768c9b29ad376123d7-libstaroffice-0.0.2.tar.bz2";
name = "libstaroffice-0.0.3.tar.xz";
url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.3.tar.xz";
sha256 = "bedeec104b4cc3896b3dfd1976dda5ce7392d1942bf8f5d2f7d796cc47e422c6";
md5 = "";
md5name = "-libstaroffice-0.0.3.tar.xz";
}
{
name = "swingExSrc.zip";
@ -731,29 +745,29 @@
name = "libvisio-0.1.5.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libvisio-0.1.5.tar.bz2";
sha256 = "b83b7991a40b4e7f07d0cac7bb46ddfac84dece705fd18e21bfd119a09be458e";
md5 = "cbee198a78b842b2087f32d33c522818";
md5name = "cbee198a78b842b2087f32d33c522818-libvisio-0.1.5.tar.bz2";
md5 = "";
md5name = "-libvisio-0.1.5.tar.bz2";
}
{
name = "libwpd-0.10.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libwpd-0.10.1.tar.bz2";
sha256 = "efc20361d6e43f9ff74de5f4d86c2ce9c677693f5da08b0a88d603b7475a508d";
md5 = "79b56bcc349264d686a67994506ad199";
md5name = "79b56bcc349264d686a67994506ad199-libwpd-0.10.1.tar.bz2";
md5 = "";
md5name = "-libwpd-0.10.1.tar.bz2";
}
{
name = "libwpg-0.3.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libwpg-0.3.1.tar.bz2";
sha256 = "29049b95895914e680390717a243b291448e76e0f82fb4d2479adee5330fbb59";
md5 = "dfd066658ec9d2fb2262417039a8a1c3";
md5name = "dfd066658ec9d2fb2262417039a8a1c3-libwpg-0.3.1.tar.bz2";
md5 = "";
md5name = "-libwpg-0.3.1.tar.bz2";
}
{
name = "libwps-0.4.4.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libwps-0.4.4.tar.bz2";
sha256 = "387c46d9543bb566381fddb8991e2838599fc500ee132fef9631a704c5cbed73";
md5 = "dcfd1d18bfa9818cf3ab21663ba857a3";
md5name = "dcfd1d18bfa9818cf3ab21663ba857a3-libwps-0.4.4.tar.bz2";
name = "libwps-0.4.6.tar.xz";
url = "http://dev-www.libreoffice.org/src/libwps-0.4.6.tar.xz";
sha256 = "e48a7c2fd20048a0a8eaf69bad972575f8b9f06e7497c787463f127d332fccd0";
md5 = "";
md5name = "-libwps-0.4.6.tar.xz";
}
{
name = "xsltml_2.1.2.zip";
@ -763,17 +777,17 @@
md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
}
{
name = "zlib-1.2.8.tar.gz";
url = "http://dev-www.libreoffice.org/src/zlib-1.2.8.tar.gz";
sha256 = "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d";
md5 = "44d667c142d7cda120332623eab69f40";
md5name = "44d667c142d7cda120332623eab69f40-zlib-1.2.8.tar.gz";
name = "zlib-1.2.11.tar.xz";
url = "http://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
md5 = "";
md5name = "-zlib-1.2.11.tar.xz";
}
{
name = "libzmf-0.0.1.tar.bz2";
url = "http://dev-www.libreoffice.org/src/libzmf-0.0.1.tar.bz2";
sha256 = "b69f7f6e94cf695c4b672ca65def4825490a1e7dee34c2126309b96d21a19e6b";
md5 = "c611df8664240de0276ab95670f413d8";
md5name = "c611df8664240de0276ab95670f413d8-libzmf-0.0.1.tar.bz2";
md5 = "";
md5name = "-libzmf-0.0.1.tar.bz2";
}
]

View file

@ -2,9 +2,9 @@
rec {
major = "5";
minor = "2";
minor = "3";
patch = "6";
tweak = "2";
tweak = "1";
subdir = "${major}.${minor}.${patch}";
@ -12,6 +12,6 @@ rec {
src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "0w1myl4l1qhdkwqb3b52xld1sq45xyg8b45q40l6a50iccwy6j9x";
sha256 = "023a7hr7v5cf0ipga4ijhyl58ncgbjrp500qq5fwf65j8g2c3apz";
};
}

View file

@ -4,7 +4,7 @@
, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
, icu, boost, jdk, ant, cups, xorg, libcmis
, openssl, gperf, cppunit, GConf, ORBit2, poppler
, librsvg, gnome_vfs, mesa, bsh, CoinMP, libwps, libabw
, librsvg, gnome_vfs, mesa, bsh, CoinMP, libwps, libabw, libzmf
, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
, libwpg, dbus_glib, glibc, qt4, kdelibs4, clucene_core, libcdr, lcms, vigra
, unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@ -42,14 +42,14 @@ let
translations = fetchSrc {
name = "translations";
sha256 = "0w77mkxmhxx4qjwdwb8bipcdb4pkvkg202mxbbjrv0aj09k6dhvk";
sha256 = "0mvfc33pkyrdd7h4kyi6lnzydaka8b5vw0ns50rw08kg9iirig4i";
};
# TODO: dictionaries
help = fetchSrc {
name = "help";
sha256 = "12xqzp005dhbh618g3zb30vj7rdmccdqj6ix10jlk0clk66n9kf0";
sha256 = "0yflll24yd4nxqxisb6mx1qgqk4awkwwi41wxmdaiq8las59sk95";
};
};
@ -72,13 +72,7 @@ in stdenv.mkDerivation rec {
configureScript = "./autogen.sh";
dontUseCmakeConfigure = true;
# ICU 58, included in 5.3.x
patches = [
(fetchurl {
url = "https://gerrit.libreoffice.org/gitweb?p=core.git;a=patch;h=3e42714c76b1347babfdea0564009d8d82a83af4";
sha256 = "10bid0jdw1rpdsqwzzk3r4rp6bjs2cvi82h7anz2m1amfjdv86my";
name = "libreoffice-5.2.x-icu4c-58.patch";}
)
./xdg-open.patch
];
@ -138,7 +132,10 @@ in stdenv.mkDerivation rec {
sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
# not sure about this fragile test
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
'';
makeFlags = "SHELL=${bash}/bin/bash";
@ -232,6 +229,7 @@ in stdenv.mkDerivation rec {
"--without-system-libmspub"
"--without-system-libpagemaker"
"--without-system-libgltf"
"--without-system-libstaroffice"
# https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
"--without-system-orcus"
];
@ -252,7 +250,7 @@ in stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
python3 sablotron sane-backends unzip vigra which zip zlib
mdds bluez5 glibc libcmis libwps libabw
mdds bluez5 glibc libcmis libwps libabw libzmf
libxshmfence libatomic_ops graphite2 harfbuzz
librevenge libe-book libmwaw glm glew ncurses
libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper

View file

@ -0,0 +1,13 @@
diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh
index 4519e01f26e2..8985711a2c01 100755
--- a/shell/source/unix/misc/senddoc.sh
+++ b/shell/source/unix/misc/senddoc.sh
@@ -393,6 +393,8 @@ case `basename "$MAILER" | sed 's/-.*$//'` in
MAILER=/usr/bin/kde-open
elif [ -x /usr/bin/xdg-open ] ; then
MAILER=/usr/bin/xdg-open
+ elif type -p xdg-open >/dev/null 2>&1 ; then
+ MAILER="$(type -p xdg-open)"
else
echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`"
exit 2

View file

@ -0,0 +1,33 @@
{ stdenv, fetchurl, cmake, extra-cmake-modules, qtbase,
kcoreaddons, kdoctools, ki18n, kio, kxmlgui, ktextwidgets,
libksane
}:
let
minorVersion = "2.0";
in stdenv.mkDerivation rec {
name = "skanlite-2.0.1";
src = fetchurl {
url = "mirror://kde/stable/skanlite/${minorVersion}/${name}.tar.xz";
sha256 = "0dh2v8029gkhcf3pndcxz1zk2jgpihgd30lmplgirilxdq9l2i9v";
};
nativeBuildInputs = [ cmake kdoctools extra-cmake-modules ];
buildInputs = [
qtbase
kcoreaddons kdoctools ki18n kio kxmlgui ktextwidgets
libksane
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "KDE simple image scanning application";
homepage = http://www.kde.org/applications/graphics/skanlite/;
license = licenses.gpl2;
maintainers = with maintainers; [ pshendry ];
platforms = platforms.linux;
};
}

View file

@ -4,7 +4,7 @@
let
# if you bump version, update pkgs.tortoisehg too or ping maintainer
version = "4.3.1";
version = "4.3.2";
name = "mercurial-${version}";
inherit (python2Packages) docutils hg-git dulwich python;
in python2Packages.buildPythonApplication {
@ -13,7 +13,7 @@ in python2Packages.buildPythonApplication {
src = fetchurl {
url = "https://mercurial-scm.org/release/${name}.tar.gz";
sha256 = "18hq6vvjsrjsnbs15bvyyfrss35bgc0hgw4wxksdyaj578pg04ib";
sha256 = "0j6djq584rcj9ghz59ddqzrfq49lykg3wqwap5fnzp9apa4gcnqg";
};
inherit python; # pass it so that the same version can be used in hg2git

View file

@ -77,7 +77,7 @@ rec {
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = let n = namespace; in ''
make install
ln -s $out/lib/addons/${n}/${n}.so.${version} $out/${pluginDir}/${n}.so
ln -s $out/lib/addons/${n}/${n}.so.${version} $out/${pluginDir}/${n}/${n}.so.${version}
'';
};

View file

@ -5,13 +5,13 @@ with lib;
stdenv.mkDerivation rec {
name = "runc-${version}";
version = "1.0.0-rc3";
version = "1.0.0-rc4";
src = fetchFromGitHub {
owner = "opencontainers";
repo = "runc";
rev = "v${version}";
sha256 = "14hdhnni0rz3g0bhcaq95zn2zrhyds0mq2pm2padbamg4bgq4r1c";
sha256 = "0dh24x0zw90hs7618pnqvjhd2nx8dpz3b5jwc1vbs8dawj8prir2";
};
outputs = [ "out" "man" ];

View file

@ -39,6 +39,7 @@ with luaPackages; stdenv.mkDerivation rec {
xcbutilxrm ];
#cmakeFlags = "-DGENERATE_MANPAGES=ON";
cmakeFlags = "-DOVERRIDE_VERSION=${version}";
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";

View file

@ -30,7 +30,20 @@ rec {
inherit pkgs buildImage pullImage shadowSetup;
};
pullImage = callPackage ./pull.nix {};
pullImage =
let
nameReplace = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
in
# For simplicity we only support sha256.
{ imageName, imageTag ? "latest", imageId ? "${imageName}:${imageTag}"
, sha256, name ? (nameReplace "docker-image-${imageName}-${imageTag}.tar") }:
runCommand name {
impureEnvVars=pkgs.stdenv.lib.fetchers.proxyImpureEnvVars;
outputHashMode="flat";
outputHashAlgo="sha256";
outputHash=sha256;
}
"${pkgs.skopeo}/bin/skopeo copy docker://${imageId} docker-archive://$out:${imageId}";
# We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
# And we cannot untar it, because then we cannot preserve permissions ecc.

View file

@ -87,7 +87,7 @@ rec {
imageName = "nixos/nix";
imageTag = "1.11";
# this hash will need change if the tag is updated at docker hub
sha256 = "1gk4bq05vl3rj3mh4mlbl4iicgndmimlv8jvkhdk4hrv0r44bwr3";
sha256 = "18xvcnl0yvj9kfi5bkimrhhjaa8xhm3jhshh2xd7c0sbfrmfqzvi";
};
# 5. example of multiple contents, emacs and vi happily coexisting

View file

@ -1,32 +0,0 @@
{ stdenv, lib, docker, vmTools, utillinux, curl, kmod, dhcp, cacert, e2fsprogs }:
let
nameReplace = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
in
# For simplicity we only support sha256.
{ imageName, imageTag ? "latest", imageId ? "${imageName}:${imageTag}"
, sha256, name ? (nameReplace "docker-image-${imageName}-${imageTag}.tar") }:
let
pullImage = vmTools.runInLinuxVM (
stdenv.mkDerivation {
inherit name imageId;
certs = "${cacert}/etc/ssl/certs/ca-bundle.crt";
builder = ./pull.sh;
buildInputs = [ curl utillinux docker kmod dhcp cacert e2fsprogs ];
outputHashAlgo = "sha256";
outputHash = sha256;
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
preVM = vmTools.createEmptyImage {
size = 2048;
fullName = "${name}-disk";
};
QEMU_OPTS = "-netdev user,id=net0 -device virtio-net-pci,netdev=net0";
});
in
pullImage

View file

@ -1,8 +1,9 @@
{ stdenv, gitRepo, cacert, copyPathsToStore }:
{ name, manifest, rev ? "HEAD", sha256
# Optional parameters:
, repoRepoURL ? "", repoRepoRev ? "", referenceDir ? ""
, localManifests ? [], createMirror ? false, useArchive ? !createMirror
, localManifests ? [], createMirror ? false, useArchive ? false
}:
assert repoRepoRev != "" -> repoRepoURL != "";
@ -51,6 +52,9 @@ in stdenv.mkDerivation {
# Path must be absolute (e.g. for GnuPG: ~/.repoconfig/gnupg/pubring.kbx)
export HOME="$(pwd)"
mkdir $out
cd $out
mkdir .repo
${optionalString (local_manifests != []) ''
mkdir .repo/local_manifests
@ -61,6 +65,13 @@ in stdenv.mkDerivation {
repo init ${concatStringsSep " " repoInitFlags}
repo sync --jobs=$NIX_BUILD_CORES --current-branch
${optionalString (!createMirror) "rm -rf $out/.repo"}
# TODO: The git-index files (and probably the files in .repo as well) have
# different contents each time and will therefore change the final hash
# (i.e. creating a mirror probably won't work).
${optionalString (!createMirror) ''
rm -rf .repo
find -type d -name '.git' -prune -exec rm -rf {} +
''}
'';
}

View file

@ -17,4 +17,6 @@ for var in "${!src@}"; do
done
gzip -dv *.gz
xz -dv *.xz
ln -s GeoLiteCity.dat GeoIPCity.dat
ln -s GeoLiteCityv6.dat GeoIPCityv6.dat

View file

@ -1,32 +1,32 @@
{ stdenv, fetchurl }:
let
fetchDB = src: name: sha256: fetchurl {
inherit name sha256;
fetchDB = src: sha256: fetchurl {
inherit sha256;
url = "https://geolite.maxmind.com/download/geoip/database/${src}";
};
in
stdenv.mkDerivation rec {
name = "geolite-legacy-${version}";
version = "2017-05-26";
version = "2017-09-17";
srcGeoIP = fetchDB
"GeoLiteCountry/GeoIP.dat.gz" "GeoIP.dat.gz"
"GeoLiteCountry/GeoIP.dat.gz"
"04akk0jczvki8rdvz6z6v5s26ds0m27953lzvp3v0fsg7rl08q5n";
srcGeoIPv6 = fetchDB
"GeoIPv6.dat.gz" "GeoIPv6.dat.gz"
"GeoIPv6.dat.gz"
"0i0885vvj0s5sysyafvk8pc8gr3znh7gmiy8rp4iiai7qnbylb7y";
srcGeoLiteCity = fetchDB
"GeoLiteCity.dat.xz" "GeoIPCity.dat.xz"
"0bgf4kfg4mmqvgmrff27lbiglnnb3pnd7f3i4fxzl68c33bizmbm";
"GeoLiteCity.dat.gz"
"1yqxqfndnsvqc3hrs0nm6nvs0wp8jh9phs0yzrn48rlb9agcb8gj";
srcGeoLiteCityv6 = fetchDB
"GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz" "GeoIPCityv6.dat.gz"
"06slyw2644y2z5bgn4yl79aa4smf94mdcddybldh1glc3ay3p4iz";
"GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"
"05grm006r723l9zm7pdmwwycc658ni858hcrcf5mysv0hmc3wqb2";
srcGeoIPASNum = fetchDB
"asnum/GeoIPASNum.dat.gz" "GeoIPASNum.dat.gz"
"asnum/GeoIPASNum.dat.gz"
"1gpvsqvq9z9pg9zfn86i50fb481llfyn79r1jwddwfflp1qqfrrv";
srcGeoIPASNumv6 = fetchDB
"asnum/GeoIPASNumv6.dat.gz" "GeoIPASNumv6.dat.gz"
"asnum/GeoIPASNumv6.dat.gz"
"0nmhz82dn9clm5w2y6z861ifj7i761spy1p1zcam93046cdpqqaa";
meta = with stdenv.lib; {
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
homepage = https://geolite.maxmind.com/download/geoip;
license = licenses.cc-by-sa-30;
platforms = platforms.all;
maintainers = with maintainers; [ nckx ];
maintainers = with maintainers; [ nckx fpletz ];
};
builder = ./builder.sh;

View file

@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
makeWrapper file ];
configureFlags = [ "--enable-extensions=all" ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
description = "Modify and extend GNOME Shell functionality and behavior";

View file

@ -72,8 +72,8 @@ in {
'';
};
haxe_3_4 = generic {
version = "3.4.2";
sha256 = "1m5fp183agqv8h3ynhxw4kndkpq2d6arysmirv3zl3vz5crmpwqd";
version = "3.4.3";
sha256 = "1rrbrc81pilq0d691kp22yjwvvg0kw7q9b9npdghga2ks0hzpr02";
prePatch = ''
sed -i -e 's|"/usr/lib/haxe/std/";|"'"$out/lib/haxe/std/"'";\n&|g' src/main.ml
sed -i -e 's|"neko"|"${neko}/bin/neko"|g' extra/haxelib_src/src/haxelib/client/Main.hx

View file

@ -0,0 +1,188 @@
{ stdenv, fetchgit, fetchurl, fetchzip
# build tools
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
, runCommand
, paxctl
# libjulia dependencies
, libunwind, readline, utf8proc, zlib
, llvm, libffi, ncurses
# standard library dependencies
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
# linear algebra
, openblas, arpack, suitesparse
# Darwin frameworks
, CoreServices, ApplicationServices
}:
with stdenv.lib;
# All dependencies must use the same OpenBLAS.
let
arpack_ = arpack;
suitesparse_ = suitesparse;
in
let
arpack = arpack_.override { inherit openblas; };
suitesparse = suitesparse_.override { inherit openblas; };
in
let
dsfmtVersion = "2.2.3";
dsfmt = fetchurl {
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz";
sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
};
libuvVersion = "52d72a52cc7ccd570929990f010ed16e2ec604c8";
libuv = fetchurl {
url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
sha256 = "1vldy94sfmlfqmi14126g590wi61fv78rzh7afk82zkipaixvak8";
};
rmathVersion = "0.1";
rmath-julia = fetchurl {
url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
};
virtualenvVersion = "15.0.0";
virtualenv = fetchurl {
url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
};
in
stdenv.mkDerivation rec {
pname = "julia";
version = "0.6.0";
name = "${pname}-${version}";
src = fetchzip {
url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
sha256 = "19xk2cs43lnsy9y0d8wmxj7ich908ipb40vkf7xg9031x272brxw";
};
prePatch = ''
mkdir deps/srccache
cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz"
cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz"
cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz"
cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz"
'';
patches = [
./0001.1-use-system-utf8proc.patch
./0002-use-system-suitesparse.patch
] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
postPatch = ''
patchShebangs . contrib
for i in backtrace replutil cmdlineargs compile; do
mv test/$i.jl{,.off}
touch test/$i.jl
done
'';
buildInputs = [
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
zlib llvm
]
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
;
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
++ stdenv.lib.optional stdenv.needsPax paxctl;
makeFlags =
let
arch = head (splitString "-" stdenv.system);
march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
or (throw "unsupported architecture: ${arch}");
# Julia requires Pentium 4 (SSE2) or better
cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
or (throw "unsupported architecture: ${arch}");
in [
"ARCH=${arch}"
"MARCH=${march}"
"JULIA_CPU_TARGET=${cpuTarget}"
"PREFIX=$(out)"
"prefix=$(out)"
"SHELL=${stdenv.shell}"
"USE_SYSTEM_BLAS=1"
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
"LIBBLAS=-lopenblas"
"LIBBLASNAME=libopenblas"
"USE_SYSTEM_LAPACK=1"
"LIBLAPACK=-lopenblas"
"LIBLAPACKNAME=libopenblas"
"USE_SYSTEM_SUITESPARSE=1"
"SUITESPARSE_LIB=-lsuitesparse"
"SUITESPARSE_INC=-I${suitesparse}/include"
"USE_SYSTEM_ARPACK=1"
"USE_SYSTEM_FFTW=1"
"USE_SYSTEM_GMP=1"
"USE_SYSTEM_LIBGIT2=1"
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_LLVM=1"
"LLVM_VER=3.9.1"
"USE_SYSTEM_MPFR=1"
"USE_SYSTEM_OPENLIBM=1"
"USE_SYSTEM_OPENSPECFUN=1"
"USE_SYSTEM_PATCHELF=1"
"USE_SYSTEM_PCRE=1"
"PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
"PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
"USE_SYSTEM_READLINE=1"
"USE_SYSTEM_UTF8PROC=1"
"USE_SYSTEM_ZLIB=1"
];
NIX_CFLAGS_COMPILE = [ "-fPIC" ];
LD_LIBRARY_PATH = makeLibraryPath [
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
openspecfun pcre2 suitesparse llvm
];
dontStrip = true;
dontPatchELF = true;
enableParallelBuilding = true;
doCheck = !stdenv.isDarwin;
checkTarget = "testall";
# Julia's tests require read/write access to $HOME
preCheck = ''
export HOME="$NIX_BUILD_TOP"
set
'';
preBuild = ''
sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
'';
postInstall = ''
for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
wrapProgram "$prog" \
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:$out/lib/julia" \
--prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
done
'';
meta = {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = https://julialang.org/;
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ raskin ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
broken = stdenv.isi686;
};
}

View file

@ -14,7 +14,7 @@ let isCross = (ghc.cross or null) != null; in
, configureFlags ? []
, description ? ""
, doCheck ? !isCross && (stdenv.lib.versionOlder "7.4" ghc.version)
, withBenchmarkDepends ? false
, doBenchmark ? false
, doHoogle ? true
, editedCabalFile ? null
, enableLibraryProfiling ? false
@ -150,7 +150,7 @@ let
isSystemPkg = x: !isHaskellPkg x;
allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++
optionals doCheck testPkgconfigDepends ++ optionals withBenchmarkDepends benchmarkPkgconfigDepends;
optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
nativeBuildInputs = buildTools ++ libraryToolDepends ++ executableToolDepends ++ [ removeReferencesTo ];
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
@ -159,7 +159,7 @@ let
optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
# ghcjs's hsc2hs calls out to the native hsc2hs
optional isGhcjs nativeGhc ++
optionals withBenchmarkDepends (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
@ -401,7 +401,7 @@ stdenv.mkDerivation ({
// optionalAttrs (preBuild != "") { inherit preBuild; }
// optionalAttrs (postBuild != "") { inherit postBuild; }
// optionalAttrs (doCheck) { inherit doCheck; }
// optionalAttrs (withBenchmarkDepends) { inherit withBenchmarkDepends; }
// optionalAttrs (doBenchmark) { inherit doBenchmark; }
// optionalAttrs (checkPhase != "") { inherit checkPhase; }
// optionalAttrs (preCheck != "") { inherit preCheck; }
// optionalAttrs (postCheck != "") { inherit postCheck; }

File diff suppressed because it is too large Load diff

View file

@ -23,6 +23,9 @@ rec {
doCheck = drv: overrideCabal drv (drv: { doCheck = true; });
dontCheck = drv: overrideCabal drv (drv: { doCheck = false; });
doBenchmark = drv: overrideCabal drv (drv: { doBenchmark = true; });
dontBenchmark = drv: overrideCabal drv (drv: { doBenchmark = false; });
doDistribute = drv: overrideCabal drv (drv: { hydraPlatforms = drv.platforms or ["i686-linux" "x86_64-linux" "x86_64-darwin"]; });
dontDistribute = drv: overrideCabal drv (drv: { hydraPlatforms = []; });
@ -77,7 +80,7 @@ rec {
doStrip = drv: overrideCabal drv (drv: { dontStrip = false; });
dontStrip = drv: overrideCabal drv (drv: { dontStrip = true; });
# Useful for debugging segfaults with gdb.
# Useful for debugging segfaults with gdb.
# -g: enables debugging symbols
# --disable-*-stripping: tell GHC not to strip resulting binaries
# dontStrip: see above

View file

@ -4,8 +4,7 @@
{ aspell
, aspellDicts
, makeWrapper
, symlinkJoin
, runCommand
, buildEnv
}:
f:
@ -14,22 +13,20 @@ let
# Dictionaries we want
dicts = f aspellDicts;
# A tree containing the dictionaries
dictEnv = symlinkJoin {
name = "aspell-dicts";
paths = dicts;
};
in runCommand "aspell-env" {
in buildEnv {
name = "aspell-env";
buildInputs = [ makeWrapper ];
} ''
# Construct wrappers in /bin
mkdir -p $out/bin
pushd "${aspell}/bin"
for prg in *; do
if [ -f "$prg" ]; then
makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir ${dictEnv}/lib/aspell"
fi
done
popd
''
paths = [ aspell ] ++ dicts;
postBuild = ''
# Construct wrappers in /bin
unlink "$out/bin"
mkdir -p "$out/bin"
pushd "${aspell}/bin"
for prg in *; do
if [ -f "$prg" ]; then
makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir $out/lib/aspell"
fi
done
popd
'';
}

View file

@ -5,15 +5,15 @@
}:
stdenv.mkDerivation rec {
version = "1.7.2";
version = "1.9.0";
name = "cdo-${version}";
# Dependencies
buildInputs = [ curl netcdf hdf5 ];
src = fetchurl {
url = "https://code.zmaw.de/attachments/download/12760/${name}.tar.gz";
sha256 = "4c43eba7a95f77457bfe0d30fb82382b3b5f2b0cf90aca6f0f0a008f6cc7e697";
url = "https://code.mpimet.mpg.de/attachments/download/15187/${name}.tar.gz";
sha256 = "024hsr6qfg2dicwvm0vvkg3fr998bchf0qgwpj2v0jmz7a67ydnz";
};
# Configure phase
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
Supported data formats are GRIB 1/2, netCDF 3/4, SERVICE, EXTRA and IEG.
There are more than 600 operators available.
'';
homepage = https://code.zmaw.de/projects/cdo/;
homepage = https://code.mpimet.mpg.de/projects/cdo/;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.ltavard ];
platforms = with stdenv.lib.platforms; linux ++ darwin;

View file

@ -1,15 +1,16 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "cppunit-1.13.2";
stdenv.mkDerivation rec {
name = "cppunit-${version}";
version = "1.14.0";
src = fetchurl {
url = http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz;
sha256 = "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz";
url = "http://dev-www.libreoffice.org/src/${name}.tar.gz";
sha256 = "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix";
};
meta = {
homepage = https://sourceforge.net/apps/mediawiki/cppunit/;
homepage = https://freedesktop.org/wiki/Software/cppunit/;
description = "C++ unit testing framework";
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};

View file

@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
name = "gd-${version}";
version = "2.2.4";
version = "2.2.5";
src = fetchurl {
url = "https://github.com/libgd/libgd/releases/download/${name}/libgd-${version}.tar.xz";
sha256 = "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk";
sha256 = "0lfy5f241sbv8s3splm2zqiaxv7lxrcshh875xryryk7yk5jqc4c";
};
hardeningDisable = [ "format" ];

View file

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
substituteInPlace libtool --replace stdc++ c++
'';
NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isDarwin "-D_XOPEN_SOURCE";
# some packages want to link to the static tcmalloc_minimal
# to drop the runtime dependency on gperftools
dontDisableStatic = true;

View file

@ -2,14 +2,14 @@
let
ver_maj = "3.22";
ver_min = "0";
ver_min = "2";
in
stdenv.mkDerivation rec {
name = "gtkmm-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
sha256 = "05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5";
sha256 = "91afd98a31519536f5f397c2d79696e3d53143b80b75778521ca7b48cb280090";
};
outputs = [ "out" "dev" ];

View file

@ -1,4 +1,8 @@
{ stdenv, fetchurl, openssl, findutils }:
{ stdenv, fetchurl, findutils
, sslSupport? true, openssl
}:
assert sslSupport -> openssl != null;
stdenv.mkDerivation rec {
name = "libevent-${version}";
@ -11,13 +15,20 @@ stdenv.mkDerivation rec {
# libevent_openssl is moved into its own output, so that openssl isn't present
# in the default closure.
outputs = [ "out" "dev" "openssl" ];
outputs = [ "out" "dev" ]
++ stdenv.lib.optional sslSupport "openssl"
;
outputBin = "dev";
propagatedBuildOutputs = [ "out" "openssl" ];
propagatedBuildOutputs = [ "out" ]
++ stdenv.lib.optional sslSupport "openssl"
;
buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isCygwin findutils;
buildInputs = []
++ stdenv.lib.optional sslSupport openssl
++ stdenv.lib.optional stdenv.isCygwin findutils
;
postInstall = ''
postInstall = stdenv.lib.optionalString sslSupport ''
moveToOutput "lib/libevent_openssl*" "$openssl"
substituteInPlace "$dev/lib/pkgconfig/libevent_openssl.pc" \
--replace "$out" "$openssl"

View file

@ -89,6 +89,10 @@ stdenv.mkDerivation rec {
gtk = gtk2.out;
gdk_pixbuf = gdk_pixbuf.out;
})
++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
sha256 = "1fbjh78nmafqmj7yk67qwjbhl3f6ylkp6x33b1dqxfw9gld8b3gl";
})
++ [
(fetchpatch {
name = "fix-medium-font.patch";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "tcllib-${version}";
version = "1.15";
version = "1.18";
src = fetchurl {
url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
sha256 = "1zdzaqdpxljsaabgknq3paakgs262qy255ib4p329knsv608jc3d";
sha256 = "05dmrk9qsryah2n17z6z85dj9l9lfyvnsd7faw0p9bs1pp5pwrkj";
};
passthru = {

View file

@ -1,21 +1,25 @@
{ stdenv, fetchurl, libxml2, gnutls, libxslt, pkgconfig, libgcrypt, libtool
, openssl, makeWrapper }:
, openssl, nss, makeWrapper }:
let
version = "1.2.23";
version = "1.2.25";
in
stdenv.mkDerivation rec {
name = "xmlsec-${version}";
src = fetchurl {
url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
sha256 = "17qfw5crkqn4v6xbkjxrjvcccfc00dy053892wrwv54qdk8n7m21";
sha256 = "1lpwj8dxwhha54sby0v5axjk79h56jnhjjiwiasbbk15vwzahz4n";
};
buildInputs = [ makeWrapper libxml2 gnutls libxslt pkgconfig libgcrypt libtool openssl ];
buildInputs = [ makeWrapper libxml2 gnutls libxslt pkgconfig libgcrypt libtool openssl nss ];
enableParallelBuilding = true;
doCheck = true;
# enable deprecated soap headers required by lasso
# https://dev.entrouvert.org/issues/18771
configureFlags = [ "--enable-soap" ];
# otherwise libxmlsec1-gnutls.so won't find libgcrypt.so, after #909
NIX_LDFLAGS = [ "-lgcrypt" ];
@ -25,8 +29,10 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.aleksey.com/xmlsec;
downloadPage = https://www.aleksey.com/xmlsec/download.html;
description = "XML Security Library in C based on libxml2";
license = stdenv.lib.licenses.mit;
platforms = with stdenv.lib.platforms; linux ++ darwin;
updateWalker = true;
};
}

View file

@ -0,0 +1,30 @@
{ stdenv, buildPythonPackage, fetchPypi, unidecode, regex, python }:
buildPythonPackage rec {
pname = "awesome-slugify";
version = "1.6.5";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "0wgxrhr8s5vk2xmcz9s1z1aml4ppawmhkbggl9rp94c747xc7pmv";
};
patches = [
./slugify_filename_test.patch # fixes broken test by new unidecode
];
propagatedBuildInputs = [ unidecode regex ];
checkPhase = ''
${python.interpreter} -m unittest discover
'';
meta = with stdenv.lib; {
homepage = "https://github.com/dimka665/awesome-slugify";
description = "Python flexible slugify function";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ abbradar ];
};
}

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