Merge master into haskell-updates
This commit is contained in:
+156
-138
@@ -1,44 +1,56 @@
|
||||
{ lib }:
|
||||
let
|
||||
|
||||
spdx = lic: lic // {
|
||||
url = "https://spdx.org/licenses/${lic.spdxId}.html";
|
||||
lib.mapAttrs (lname: lset: let
|
||||
defaultLicense = rec {
|
||||
shortName = lname;
|
||||
free = true; # Most of our licenses are Free, explicitly declare unfree additions as such!
|
||||
deprecated = false;
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
mkLicense = licenseDeclaration: let
|
||||
applyDefaults = license: defaultLicense // license;
|
||||
applySpdx = license:
|
||||
if license ? spdxId
|
||||
then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; }
|
||||
else license;
|
||||
applyRedistributable = license: { redistributable = license.free; } // license;
|
||||
in lib.pipe licenseDeclaration [
|
||||
applyDefaults
|
||||
applySpdx
|
||||
applyRedistributable
|
||||
];
|
||||
in mkLicense lset) ({
|
||||
/* License identifiers from spdx.org where possible.
|
||||
* If you cannot find your license here, then look for a similar license or
|
||||
* add it to this list. The URL mentioned above is a good source for inspiration.
|
||||
*/
|
||||
|
||||
abstyles = spdx {
|
||||
abstyles = {
|
||||
spdxId = "Abstyles";
|
||||
fullName = "Abstyles License";
|
||||
};
|
||||
|
||||
afl20 = spdx {
|
||||
afl20 = {
|
||||
spdxId = "AFL-2.0";
|
||||
fullName = "Academic Free License v2.0";
|
||||
};
|
||||
|
||||
afl21 = spdx {
|
||||
afl21 = {
|
||||
spdxId = "AFL-2.1";
|
||||
fullName = "Academic Free License v2.1";
|
||||
};
|
||||
|
||||
afl3 = spdx {
|
||||
afl3 = {
|
||||
spdxId = "AFL-3.0";
|
||||
fullName = "Academic Free License v3.0";
|
||||
};
|
||||
|
||||
agpl3Only = spdx {
|
||||
agpl3Only = {
|
||||
spdxId = "AGPL-3.0-only";
|
||||
fullName = "GNU Affero General Public License v3.0 only";
|
||||
};
|
||||
|
||||
agpl3Plus = spdx {
|
||||
agpl3Plus = {
|
||||
spdxId = "AGPL-3.0-or-later";
|
||||
fullName = "GNU Affero General Public License v3.0 or later";
|
||||
};
|
||||
@@ -55,7 +67,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
apsl20 = spdx {
|
||||
apsl20 = {
|
||||
spdxId = "APSL-2.0";
|
||||
fullName = "Apple Public Source License 2.0";
|
||||
};
|
||||
@@ -65,72 +77,72 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://www.freedesktop.org/wiki/Arphic_Public_License/";
|
||||
};
|
||||
|
||||
artistic1 = spdx {
|
||||
artistic1 = {
|
||||
spdxId = "Artistic-1.0";
|
||||
fullName = "Artistic License 1.0";
|
||||
};
|
||||
|
||||
artistic2 = spdx {
|
||||
artistic2 = {
|
||||
spdxId = "Artistic-2.0";
|
||||
fullName = "Artistic License 2.0";
|
||||
};
|
||||
|
||||
asl20 = spdx {
|
||||
asl20 = {
|
||||
spdxId = "Apache-2.0";
|
||||
fullName = "Apache License 2.0";
|
||||
};
|
||||
|
||||
boost = spdx {
|
||||
boost = {
|
||||
spdxId = "BSL-1.0";
|
||||
fullName = "Boost Software License 1.0";
|
||||
};
|
||||
|
||||
beerware = spdx {
|
||||
beerware = {
|
||||
spdxId = "Beerware";
|
||||
fullName = "Beerware License";
|
||||
};
|
||||
|
||||
blueOak100 = spdx {
|
||||
blueOak100 = {
|
||||
spdxId = "BlueOak-1.0.0";
|
||||
fullName = "Blue Oak Model License 1.0.0";
|
||||
};
|
||||
|
||||
bsd0 = spdx {
|
||||
bsd0 = {
|
||||
spdxId = "0BSD";
|
||||
fullName = "BSD Zero Clause License";
|
||||
};
|
||||
|
||||
bsd1 = spdx {
|
||||
bsd1 = {
|
||||
spdxId = "BSD-1-Clause";
|
||||
fullName = "BSD 1-Clause License";
|
||||
};
|
||||
|
||||
bsd2 = spdx {
|
||||
bsd2 = {
|
||||
spdxId = "BSD-2-Clause";
|
||||
fullName = ''BSD 2-clause "Simplified" License'';
|
||||
};
|
||||
|
||||
bsd2Patent = spdx {
|
||||
bsd2Patent = {
|
||||
spdxId = "BSD-2-Clause-Patent";
|
||||
fullName = "BSD-2-Clause Plus Patent License";
|
||||
};
|
||||
|
||||
bsd3 = spdx {
|
||||
bsd3 = {
|
||||
spdxId = "BSD-3-Clause";
|
||||
fullName = ''BSD 3-clause "New" or "Revised" License'';
|
||||
};
|
||||
|
||||
bsdOriginal = spdx {
|
||||
bsdOriginal = {
|
||||
spdxId = "BSD-4-Clause";
|
||||
fullName = ''BSD 4-clause "Original" or "Old" License'';
|
||||
};
|
||||
|
||||
bsdOriginalUC = spdx {
|
||||
bsdOriginalUC = {
|
||||
spdxId = "BSD-4-Clause-UC";
|
||||
fullName = "BSD 4-Clause University of California-Specific";
|
||||
};
|
||||
|
||||
bsdProtection = spdx {
|
||||
bsdProtection = {
|
||||
spdxId = "BSD-Protection";
|
||||
fullName = "BSD Protection License";
|
||||
};
|
||||
@@ -141,119 +153,119 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
clArtistic = spdx {
|
||||
clArtistic = {
|
||||
spdxId = "ClArtistic";
|
||||
fullName = "Clarified Artistic License";
|
||||
};
|
||||
|
||||
cc0 = spdx {
|
||||
cc0 = {
|
||||
spdxId = "CC0-1.0";
|
||||
fullName = "Creative Commons Zero v1.0 Universal";
|
||||
};
|
||||
|
||||
cc-by-nc-sa-20 = spdx {
|
||||
cc-by-nc-sa-20 = {
|
||||
spdxId = "CC-BY-NC-SA-2.0";
|
||||
fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-nc-sa-25 = spdx {
|
||||
cc-by-nc-sa-25 = {
|
||||
spdxId = "CC-BY-NC-SA-2.5";
|
||||
fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-nc-sa-30 = spdx {
|
||||
cc-by-nc-sa-30 = {
|
||||
spdxId = "CC-BY-NC-SA-3.0";
|
||||
fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-nc-sa-40 = spdx {
|
||||
cc-by-nc-sa-40 = {
|
||||
spdxId = "CC-BY-NC-SA-4.0";
|
||||
fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-nc-30 = spdx {
|
||||
cc-by-nc-30 = {
|
||||
spdxId = "CC-BY-NC-3.0";
|
||||
fullName = "Creative Commons Attribution Non Commercial 3.0 Unported";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-nc-40 = spdx {
|
||||
cc-by-nc-40 = {
|
||||
spdxId = "CC-BY-NC-4.0";
|
||||
fullName = "Creative Commons Attribution Non Commercial 4.0 International";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-nd-30 = spdx {
|
||||
cc-by-nd-30 = {
|
||||
spdxId = "CC-BY-ND-3.0";
|
||||
fullName = "Creative Commons Attribution-No Derivative Works v3.00";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cc-by-sa-25 = spdx {
|
||||
cc-by-sa-25 = {
|
||||
spdxId = "CC-BY-SA-2.5";
|
||||
fullName = "Creative Commons Attribution Share Alike 2.5";
|
||||
};
|
||||
|
||||
cc-by-30 = spdx {
|
||||
cc-by-30 = {
|
||||
spdxId = "CC-BY-3.0";
|
||||
fullName = "Creative Commons Attribution 3.0";
|
||||
};
|
||||
|
||||
cc-by-sa-30 = spdx {
|
||||
cc-by-sa-30 = {
|
||||
spdxId = "CC-BY-SA-3.0";
|
||||
fullName = "Creative Commons Attribution Share Alike 3.0";
|
||||
};
|
||||
|
||||
cc-by-40 = spdx {
|
||||
cc-by-40 = {
|
||||
spdxId = "CC-BY-4.0";
|
||||
fullName = "Creative Commons Attribution 4.0";
|
||||
};
|
||||
|
||||
cc-by-sa-40 = spdx {
|
||||
cc-by-sa-40 = {
|
||||
spdxId = "CC-BY-SA-4.0";
|
||||
fullName = "Creative Commons Attribution Share Alike 4.0";
|
||||
};
|
||||
|
||||
cddl = spdx {
|
||||
cddl = {
|
||||
spdxId = "CDDL-1.0";
|
||||
fullName = "Common Development and Distribution License 1.0";
|
||||
};
|
||||
|
||||
cecill20 = spdx {
|
||||
cecill20 = {
|
||||
spdxId = "CECILL-2.0";
|
||||
fullName = "CeCILL Free Software License Agreement v2.0";
|
||||
};
|
||||
|
||||
cecill-b = spdx {
|
||||
cecill-b = {
|
||||
spdxId = "CECILL-B";
|
||||
fullName = "CeCILL-B Free Software License Agreement";
|
||||
};
|
||||
|
||||
cecill-c = spdx {
|
||||
cecill-c = {
|
||||
spdxId = "CECILL-C";
|
||||
fullName = "CeCILL-C Free Software License Agreement";
|
||||
};
|
||||
|
||||
cpal10 = spdx {
|
||||
cpal10 = {
|
||||
spdxId = "CPAL-1.0";
|
||||
fullName = "Common Public Attribution License 1.0";
|
||||
};
|
||||
|
||||
cpl10 = spdx {
|
||||
cpl10 = {
|
||||
spdxId = "CPL-1.0";
|
||||
fullName = "Common Public License 1.0";
|
||||
};
|
||||
|
||||
curl = spdx {
|
||||
curl = {
|
||||
spdxId = "curl";
|
||||
fullName = "curl License";
|
||||
};
|
||||
|
||||
doc = spdx {
|
||||
doc = {
|
||||
spdxId = "DOC";
|
||||
fullName = "DOC License";
|
||||
};
|
||||
@@ -264,12 +276,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
efl10 = spdx {
|
||||
efl10 = {
|
||||
spdxId = "EFL-1.0";
|
||||
fullName = "Eiffel Forum License v1.0";
|
||||
};
|
||||
|
||||
efl20 = spdx {
|
||||
efl20 = {
|
||||
spdxId = "EFL-2.0";
|
||||
fullName = "Eiffel Forum License v2.0";
|
||||
};
|
||||
@@ -280,12 +292,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
epl10 = spdx {
|
||||
epl10 = {
|
||||
spdxId = "EPL-1.0";
|
||||
fullName = "Eclipse Public License 1.0";
|
||||
};
|
||||
|
||||
epl20 = spdx {
|
||||
epl20 = {
|
||||
spdxId = "EPL-2.0";
|
||||
fullName = "Eclipse Public License 2.0";
|
||||
};
|
||||
@@ -296,42 +308,42 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
eupl11 = spdx {
|
||||
eupl11 = {
|
||||
spdxId = "EUPL-1.1";
|
||||
fullName = "European Union Public License 1.1";
|
||||
};
|
||||
|
||||
eupl12 = spdx {
|
||||
eupl12 = {
|
||||
spdxId = "EUPL-1.2";
|
||||
fullName = "European Union Public License 1.2";
|
||||
};
|
||||
|
||||
fdl11Only = spdx {
|
||||
fdl11Only = {
|
||||
spdxId = "GFDL-1.1-only";
|
||||
fullName = "GNU Free Documentation License v1.1 only";
|
||||
};
|
||||
|
||||
fdl11Plus = spdx {
|
||||
fdl11Plus = {
|
||||
spdxId = "GFDL-1.1-or-later";
|
||||
fullName = "GNU Free Documentation License v1.1 or later";
|
||||
};
|
||||
|
||||
fdl12Only = spdx {
|
||||
fdl12Only = {
|
||||
spdxId = "GFDL-1.2-only";
|
||||
fullName = "GNU Free Documentation License v1.2 only";
|
||||
};
|
||||
|
||||
fdl12Plus = spdx {
|
||||
fdl12Plus = {
|
||||
spdxId = "GFDL-1.2-or-later";
|
||||
fullName = "GNU Free Documentation License v1.2 or later";
|
||||
};
|
||||
|
||||
fdl13Only = spdx {
|
||||
fdl13Only = {
|
||||
spdxId = "GFDL-1.3-only";
|
||||
fullName = "GNU Free Documentation License v1.3 only";
|
||||
};
|
||||
|
||||
fdl13Plus = spdx {
|
||||
fdl13Plus = {
|
||||
spdxId = "GFDL-1.3-or-later";
|
||||
fullName = "GNU Free Documentation License v1.3 or later";
|
||||
};
|
||||
@@ -346,7 +358,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
fullName = "Unspecified free software license";
|
||||
};
|
||||
|
||||
ftl = spdx {
|
||||
ftl = {
|
||||
spdxId = "FTL";
|
||||
fullName = "Freetype Project License";
|
||||
};
|
||||
@@ -362,22 +374,22 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
gpl1Only = spdx {
|
||||
gpl1Only = {
|
||||
spdxId = "GPL-1.0-only";
|
||||
fullName = "GNU General Public License v1.0 only";
|
||||
};
|
||||
|
||||
gpl1Plus = spdx {
|
||||
gpl1Plus = {
|
||||
spdxId = "GPL-1.0-or-later";
|
||||
fullName = "GNU General Public License v1.0 or later";
|
||||
};
|
||||
|
||||
gpl2Only = spdx {
|
||||
gpl2Only = {
|
||||
spdxId = "GPL-2.0-only";
|
||||
fullName = "GNU General Public License v2.0 only";
|
||||
};
|
||||
|
||||
gpl2Classpath = spdx {
|
||||
gpl2Classpath = {
|
||||
spdxId = "GPL-2.0-with-classpath-exception";
|
||||
fullName = "GNU General Public License v2.0 only (with Classpath exception)";
|
||||
};
|
||||
@@ -392,17 +404,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://www.mysql.com/about/legal/licensing/foss-exception";
|
||||
};
|
||||
|
||||
gpl2Plus = spdx {
|
||||
gpl2Plus = {
|
||||
spdxId = "GPL-2.0-or-later";
|
||||
fullName = "GNU General Public License v2.0 or later";
|
||||
};
|
||||
|
||||
gpl3Only = spdx {
|
||||
gpl3Only = {
|
||||
spdxId = "GPL-3.0-only";
|
||||
fullName = "GNU General Public License v3.0 only";
|
||||
};
|
||||
|
||||
gpl3Plus = spdx {
|
||||
gpl3Plus = {
|
||||
spdxId = "GPL-3.0-or-later";
|
||||
fullName = "GNU General Public License v3.0 or later";
|
||||
};
|
||||
@@ -412,12 +424,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception";
|
||||
};
|
||||
|
||||
hpnd = spdx {
|
||||
hpnd = {
|
||||
spdxId = "HPND";
|
||||
fullName = "Historic Permission Notice and Disclaimer";
|
||||
};
|
||||
|
||||
hpndSellVariant = spdx {
|
||||
hpndSellVariant = {
|
||||
fullName = "Historical Permission Notice and Disclaimer - sell variant";
|
||||
spdxId = "HPND-sell-variant";
|
||||
};
|
||||
@@ -428,12 +440,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://old.calculate-linux.org/packages/licenses/iASL";
|
||||
};
|
||||
|
||||
ijg = spdx {
|
||||
ijg = {
|
||||
spdxId = "IJG";
|
||||
fullName = "Independent JPEG Group License";
|
||||
};
|
||||
|
||||
imagemagick = spdx {
|
||||
imagemagick = {
|
||||
fullName = "ImageMagick License";
|
||||
spdxId = "imagemagick";
|
||||
};
|
||||
@@ -450,17 +462,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
ipa = spdx {
|
||||
ipa = {
|
||||
spdxId = "IPA";
|
||||
fullName = "IPA Font License";
|
||||
};
|
||||
|
||||
ipl10 = spdx {
|
||||
ipl10 = {
|
||||
spdxId = "IPL-1.0";
|
||||
fullName = "IBM Public License v1.0";
|
||||
};
|
||||
|
||||
isc = spdx {
|
||||
isc = {
|
||||
spdxId = "ISC";
|
||||
fullName = "ISC License";
|
||||
};
|
||||
@@ -478,52 +490,52 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
lgpl2Only = spdx {
|
||||
lgpl2Only = {
|
||||
spdxId = "LGPL-2.0-only";
|
||||
fullName = "GNU Library General Public License v2 only";
|
||||
};
|
||||
|
||||
lgpl2Plus = spdx {
|
||||
lgpl2Plus = {
|
||||
spdxId = "LGPL-2.0-or-later";
|
||||
fullName = "GNU Library General Public License v2 or later";
|
||||
};
|
||||
|
||||
lgpl21Only = spdx {
|
||||
lgpl21Only = {
|
||||
spdxId = "LGPL-2.1-only";
|
||||
fullName = "GNU Lesser General Public License v2.1 only";
|
||||
};
|
||||
|
||||
lgpl21Plus = spdx {
|
||||
lgpl21Plus = {
|
||||
spdxId = "LGPL-2.1-or-later";
|
||||
fullName = "GNU Lesser General Public License v2.1 or later";
|
||||
};
|
||||
|
||||
lgpl3Only = spdx {
|
||||
lgpl3Only = {
|
||||
spdxId = "LGPL-3.0-only";
|
||||
fullName = "GNU Lesser General Public License v3.0 only";
|
||||
};
|
||||
|
||||
lgpl3Plus = spdx {
|
||||
lgpl3Plus = {
|
||||
spdxId = "LGPL-3.0-or-later";
|
||||
fullName = "GNU Lesser General Public License v3.0 or later";
|
||||
};
|
||||
|
||||
lgpllr = spdx {
|
||||
lgpllr = {
|
||||
spdxId = "LGPLLR";
|
||||
fullName = "Lesser General Public License For Linguistic Resources";
|
||||
};
|
||||
|
||||
libpng = spdx {
|
||||
libpng = {
|
||||
spdxId = "Libpng";
|
||||
fullName = "libpng License";
|
||||
};
|
||||
|
||||
libpng2 = spdx {
|
||||
libpng2 = {
|
||||
spdxId = "libpng-2.0"; # Used since libpng 1.6.36.
|
||||
fullName = "PNG Reference Library version 2";
|
||||
};
|
||||
|
||||
libtiff = spdx {
|
||||
libtiff = {
|
||||
spdxId = "libtiff";
|
||||
fullName = "libtiff License";
|
||||
};
|
||||
@@ -533,22 +545,22 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://opensource.franz.com/preamble.html";
|
||||
};
|
||||
|
||||
llvm-exception = spdx {
|
||||
llvm-exception = {
|
||||
spdxId = "LLVM-exception";
|
||||
fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License
|
||||
};
|
||||
|
||||
lppl12 = spdx {
|
||||
lppl12 = {
|
||||
spdxId = "LPPL-1.2";
|
||||
fullName = "LaTeX Project Public License v1.2";
|
||||
};
|
||||
|
||||
lppl13c = spdx {
|
||||
lppl13c = {
|
||||
spdxId = "LPPL-1.3c";
|
||||
fullName = "LaTeX Project Public License v1.3c";
|
||||
};
|
||||
|
||||
lpl-102 = spdx {
|
||||
lpl-102 = {
|
||||
spdxId = "LPL-1.02";
|
||||
fullName = "Lucent Public License v1.02";
|
||||
};
|
||||
@@ -560,43 +572,43 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
|
||||
# spdx.org does not (yet) differentiate between the X11 and Expat versions
|
||||
# for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions
|
||||
mit = spdx {
|
||||
mit = {
|
||||
spdxId = "MIT";
|
||||
fullName = "MIT License";
|
||||
};
|
||||
|
||||
mpl10 = spdx {
|
||||
mpl10 = {
|
||||
spdxId = "MPL-1.0";
|
||||
fullName = "Mozilla Public License 1.0";
|
||||
};
|
||||
|
||||
mpl11 = spdx {
|
||||
mpl11 = {
|
||||
spdxId = "MPL-1.1";
|
||||
fullName = "Mozilla Public License 1.1";
|
||||
};
|
||||
|
||||
mpl20 = spdx {
|
||||
mpl20 = {
|
||||
spdxId = "MPL-2.0";
|
||||
fullName = "Mozilla Public License 2.0";
|
||||
};
|
||||
|
||||
mspl = spdx {
|
||||
mspl = {
|
||||
spdxId = "MS-PL";
|
||||
fullName = "Microsoft Public License";
|
||||
};
|
||||
|
||||
nasa13 = spdx {
|
||||
nasa13 = {
|
||||
spdxId = "NASA-1.3";
|
||||
fullName = "NASA Open Source Agreement 1.3";
|
||||
free = false;
|
||||
};
|
||||
|
||||
ncsa = spdx {
|
||||
ncsa = {
|
||||
spdxId = "NCSA";
|
||||
fullName = "University of Illinois/NCSA Open Source License";
|
||||
};
|
||||
|
||||
nposl3 = spdx {
|
||||
nposl3 = {
|
||||
spdxId = "NPOSL-3.0";
|
||||
fullName = "Non-Profit Open Software License 3.0";
|
||||
};
|
||||
@@ -613,53 +625,53 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
odbl = spdx {
|
||||
odbl = {
|
||||
spdxId = "ODbL-1.0";
|
||||
fullName = "Open Data Commons Open Database License v1.0";
|
||||
};
|
||||
|
||||
ofl = spdx {
|
||||
ofl = {
|
||||
spdxId = "OFL-1.1";
|
||||
fullName = "SIL Open Font License 1.1";
|
||||
};
|
||||
|
||||
openldap = spdx {
|
||||
openldap = {
|
||||
spdxId = "OLDAP-2.8";
|
||||
fullName = "Open LDAP Public License v2.8";
|
||||
};
|
||||
|
||||
openssl = spdx {
|
||||
openssl = {
|
||||
spdxId = "OpenSSL";
|
||||
fullName = "OpenSSL License";
|
||||
};
|
||||
|
||||
osl2 = spdx {
|
||||
osl2 = {
|
||||
spdxId = "OSL-2.0";
|
||||
fullName = "Open Software License 2.0";
|
||||
};
|
||||
|
||||
osl21 = spdx {
|
||||
osl21 = {
|
||||
spdxId = "OSL-2.1";
|
||||
fullName = "Open Software License 2.1";
|
||||
};
|
||||
|
||||
osl3 = spdx {
|
||||
osl3 = {
|
||||
spdxId = "OSL-3.0";
|
||||
fullName = "Open Software License 3.0";
|
||||
};
|
||||
|
||||
parity70 = spdx {
|
||||
parity70 = {
|
||||
spdxId = "Parity-7.0.0";
|
||||
fullName = "Parity Public License 7.0.0";
|
||||
url = "https://paritylicense.com/versions/7.0.0.html";
|
||||
};
|
||||
|
||||
php301 = spdx {
|
||||
php301 = {
|
||||
spdxId = "PHP-3.01";
|
||||
fullName = "PHP License v3.01";
|
||||
};
|
||||
|
||||
postgresql = spdx {
|
||||
postgresql = {
|
||||
spdxId = "PostgreSQL";
|
||||
fullName = "PostgreSQL License";
|
||||
};
|
||||
@@ -670,7 +682,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
psfl = spdx {
|
||||
psfl = {
|
||||
spdxId = "Python-2.0";
|
||||
fullName = "Python Software Foundation License version 2";
|
||||
url = "https://docs.python.org/license.html";
|
||||
@@ -691,12 +703,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://prosperitylicense.com/versions/3.0.0.html";
|
||||
};
|
||||
|
||||
qhull = spdx {
|
||||
qhull = {
|
||||
spdxId = "Qhull";
|
||||
fullName = "Qhull License";
|
||||
};
|
||||
|
||||
qpl = spdx {
|
||||
qpl = {
|
||||
spdxId = "QPL-1.0";
|
||||
fullName = "Q Public License 1.0";
|
||||
};
|
||||
@@ -706,22 +718,22 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://qwt.sourceforge.io/qwtlicense.html";
|
||||
};
|
||||
|
||||
ruby = spdx {
|
||||
ruby = {
|
||||
spdxId = "Ruby";
|
||||
fullName = "Ruby License";
|
||||
};
|
||||
|
||||
sendmail = spdx {
|
||||
sendmail = {
|
||||
spdxId = "Sendmail";
|
||||
fullName = "Sendmail License";
|
||||
};
|
||||
|
||||
sgi-b-20 = spdx {
|
||||
sgi-b-20 = {
|
||||
spdxId = "SGI-B-2.0";
|
||||
fullName = "SGI Free Software License B v2.0";
|
||||
};
|
||||
|
||||
sleepycat = spdx {
|
||||
sleepycat = {
|
||||
spdxId = "Sleepycat";
|
||||
fullName = "Sleepycat License";
|
||||
};
|
||||
@@ -737,6 +749,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
fullName = "Server Side Public License";
|
||||
url = "https://www.mongodb.com/licensing/server-side-public-license";
|
||||
free = false;
|
||||
# NOTE Debatable.
|
||||
# The license a slightly modified AGPL but still considered unfree by the
|
||||
# OSI for what seem like political reasons
|
||||
redistributable = true; # Definitely redistributable though, it's an AGPL derivative
|
||||
};
|
||||
|
||||
stk = {
|
||||
@@ -745,7 +761,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://github.com/thestk/stk/blob/master/LICENSE";
|
||||
};
|
||||
|
||||
tcltk = spdx {
|
||||
tcltk = {
|
||||
spdxId = "TCL";
|
||||
fullName = "TCL/TK License";
|
||||
};
|
||||
@@ -763,25 +779,27 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
unfreeRedistributable = {
|
||||
fullName = "Unfree redistributable";
|
||||
free = false;
|
||||
redistributable = true;
|
||||
};
|
||||
|
||||
unfreeRedistributableFirmware = {
|
||||
fullName = "Unfree redistributable firmware";
|
||||
redistributable = true;
|
||||
# Note: we currently consider these "free" for inclusion in the
|
||||
# channel and NixOS images.
|
||||
};
|
||||
|
||||
unicode-dfs-2015 = spdx {
|
||||
unicode-dfs-2015 = {
|
||||
spdxId = "Unicode-DFS-2015";
|
||||
fullName = "Unicode License Agreement - Data Files and Software (2015)";
|
||||
};
|
||||
|
||||
unicode-dfs-2016 = spdx {
|
||||
unicode-dfs-2016 = {
|
||||
spdxId = "Unicode-DFS-2016";
|
||||
fullName = "Unicode License Agreement - Data Files and Software (2016)";
|
||||
};
|
||||
|
||||
unlicense = spdx {
|
||||
unlicense = {
|
||||
spdxId = "Unlicense";
|
||||
fullName = "The Unlicense";
|
||||
};
|
||||
@@ -791,7 +809,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://oss.oracle.com/licenses/upl/";
|
||||
};
|
||||
|
||||
vim = spdx {
|
||||
vim = {
|
||||
spdxId = "Vim";
|
||||
fullName = "Vim License";
|
||||
};
|
||||
@@ -802,17 +820,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
free = false;
|
||||
};
|
||||
|
||||
vsl10 = spdx {
|
||||
vsl10 = {
|
||||
spdxId = "VSL-1.0";
|
||||
fullName = "Vovida Software License v1.0";
|
||||
};
|
||||
|
||||
watcom = spdx {
|
||||
watcom = {
|
||||
spdxId = "Watcom-1.0";
|
||||
fullName = "Sybase Open Watcom Public License 1.0";
|
||||
};
|
||||
|
||||
w3c = spdx {
|
||||
w3c = {
|
||||
spdxId = "W3C";
|
||||
fullName = "W3C Software Notice and License";
|
||||
};
|
||||
@@ -822,12 +840,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab";
|
||||
};
|
||||
|
||||
wtfpl = spdx {
|
||||
wtfpl = {
|
||||
spdxId = "WTFPL";
|
||||
fullName = "Do What The F*ck You Want To Public License";
|
||||
};
|
||||
|
||||
wxWindows = spdx {
|
||||
wxWindows = {
|
||||
spdxId = "wxWindows";
|
||||
fullName = "wxWindows Library Licence, Version 3.1";
|
||||
};
|
||||
@@ -837,68 +855,68 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||
url = "http://mcj.sourceforge.net/authors.html#xfig"; # https is broken
|
||||
};
|
||||
|
||||
zlib = spdx {
|
||||
zlib = {
|
||||
spdxId = "Zlib";
|
||||
fullName = "zlib License";
|
||||
};
|
||||
|
||||
zpl20 = spdx {
|
||||
zpl20 = {
|
||||
spdxId = "ZPL-2.0";
|
||||
fullName = "Zope Public License 2.0";
|
||||
};
|
||||
|
||||
zpl21 = spdx {
|
||||
zpl21 = {
|
||||
spdxId = "ZPL-2.1";
|
||||
fullName = "Zope Public License 2.1";
|
||||
};
|
||||
} // {
|
||||
# TODO: remove legacy aliases
|
||||
agpl3 = spdx {
|
||||
agpl3 = {
|
||||
spdxId = "AGPL-3.0";
|
||||
fullName = "GNU Affero General Public License v3.0";
|
||||
deprecated = true;
|
||||
};
|
||||
fdl11 = spdx {
|
||||
fdl11 = {
|
||||
spdxId = "GFDL-1.1";
|
||||
fullName = "GNU Free Documentation License v1.1";
|
||||
deprecated = true;
|
||||
};
|
||||
fdl12 = spdx {
|
||||
fdl12 = {
|
||||
spdxId = "GFDL-1.2";
|
||||
fullName = "GNU Free Documentation License v1.2";
|
||||
deprecated = true;
|
||||
};
|
||||
fdl13 = spdx {
|
||||
fdl13 = {
|
||||
spdxId = "GFDL-1.3";
|
||||
fullName = "GNU Free Documentation License v1.3";
|
||||
deprecated = true;
|
||||
};
|
||||
gpl1 = spdx {
|
||||
gpl1 = {
|
||||
spdxId = "GPL-1.0";
|
||||
fullName = "GNU General Public License v1.0";
|
||||
deprecated = true;
|
||||
};
|
||||
gpl2 = spdx {
|
||||
gpl2 = {
|
||||
spdxId = "GPL-2.0";
|
||||
fullName = "GNU General Public License v2.0";
|
||||
deprecated = true;
|
||||
};
|
||||
gpl3 = spdx {
|
||||
gpl3 = {
|
||||
spdxId = "GPL-3.0";
|
||||
fullName = "GNU General Public License v3.0";
|
||||
deprecated = true;
|
||||
};
|
||||
lgpl2 = spdx {
|
||||
lgpl2 = {
|
||||
spdxId = "LGPL-2.0";
|
||||
fullName = "GNU Library General Public License v2";
|
||||
deprecated = true;
|
||||
};
|
||||
lgpl21 = spdx {
|
||||
lgpl21 = {
|
||||
spdxId = "LGPL-2.1";
|
||||
fullName = "GNU Lesser General Public License v2.1";
|
||||
deprecated = true;
|
||||
};
|
||||
lgpl3 = spdx {
|
||||
lgpl3 = {
|
||||
spdxId = "LGPL-3.0";
|
||||
fullName = "GNU Lesser General Public License v3.0";
|
||||
deprecated = true;
|
||||
|
||||
+2
-1
@@ -11,6 +11,7 @@ let
|
||||
filter
|
||||
foldl'
|
||||
head
|
||||
tail
|
||||
isAttrs
|
||||
isBool
|
||||
isDerivation
|
||||
@@ -144,7 +145,7 @@ rec {
|
||||
if def.value != first.value then
|
||||
throw "The option `${showOption loc}' has conflicting definition values:${showDefs [ first def ]}"
|
||||
else
|
||||
first) (head defs) defs).value;
|
||||
first) (head defs) (tail defs)).value;
|
||||
|
||||
/* Extracts values of all "value" keys of the given list.
|
||||
|
||||
|
||||
@@ -6722,6 +6722,12 @@
|
||||
githubId = 35892750;
|
||||
name = "Maxine Aubrey";
|
||||
};
|
||||
maxhille = {
|
||||
email = "mh@lambdasoup.com";
|
||||
github = "maxhille";
|
||||
githubId = 693447;
|
||||
name = "Max Hille";
|
||||
};
|
||||
maxhbr = {
|
||||
email = "nixos@maxhbr.dev";
|
||||
github = "maxhbr";
|
||||
@@ -6977,6 +6983,12 @@
|
||||
fingerprint = "3DEE 1C55 6E1C 3DC5 54F5 875A 003F 2096 411B 5F92";
|
||||
}];
|
||||
};
|
||||
michaeladler = {
|
||||
email = "therisen06@gmail.com";
|
||||
github = "michaeladler";
|
||||
githubId = 1575834;
|
||||
name = "Michael Adler";
|
||||
};
|
||||
michaelpj = {
|
||||
email = "michaelpj@gmail.com";
|
||||
github = "michaelpj";
|
||||
|
||||
@@ -182,6 +182,13 @@
|
||||
from 1.0.4 to 3.0.1
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>erigon</literal> ethereum node has moved to a new
|
||||
database format in <literal>2021-05-04</literal>, and requires
|
||||
a full resync
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>services.geoip-updater</literal> was broken and has
|
||||
|
||||
@@ -57,6 +57,8 @@ pt-services.clipcat.enable).
|
||||
|
||||
- The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
|
||||
|
||||
- The `erigon` ethereum node has moved to a new database format in `2021-05-04`, and requires a full resync
|
||||
|
||||
- `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
||||
|
||||
- PHP 7.3 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 21.11 release.
|
||||
|
||||
@@ -178,7 +178,7 @@ in
|
||||
radvd = 139;
|
||||
zookeeper = 140;
|
||||
dnsmasq = 141;
|
||||
uhub = 142;
|
||||
#uhub = 142; # unused
|
||||
yandexdisk = 143;
|
||||
mxisd = 144; # was once collectd
|
||||
consul = 145;
|
||||
|
||||
@@ -61,7 +61,7 @@ in {
|
||||
|
||||
port = mkOption {
|
||||
default = 8080;
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
description = ''
|
||||
Specifies port number on which the jenkins HTTP interface listens.
|
||||
The default is 8080.
|
||||
|
||||
@@ -17,7 +17,7 @@ in {
|
||||
enable = mkEnableOption "Haskell documentation server";
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
default = 8080;
|
||||
description = ''
|
||||
Port number Hoogle will be listening to.
|
||||
|
||||
@@ -78,7 +78,7 @@ in {
|
||||
|
||||
port = mkOption {
|
||||
default = 8123;
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
description = "The port on which to listen.";
|
||||
};
|
||||
|
||||
|
||||
@@ -3,178 +3,110 @@
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.uhub;
|
||||
|
||||
uhubPkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
|
||||
|
||||
pluginConfig = ""
|
||||
+ optionalString cfg.plugins.authSqlite.enable ''
|
||||
plugin ${uhubPkg.mod_auth_sqlite}/mod_auth_sqlite.so "file=${cfg.plugins.authSqlite.file}"
|
||||
''
|
||||
+ optionalString cfg.plugins.logging.enable ''
|
||||
plugin ${uhubPkg.mod_logging}/mod_logging.so ${if cfg.plugins.logging.syslog then "syslog=true" else "file=${cfg.plugins.logging.file}"}
|
||||
''
|
||||
+ optionalString cfg.plugins.welcome.enable ''
|
||||
plugin ${uhubPkg.mod_welcome}/mod_welcome.so "motd=${pkgs.writeText "motd.txt" cfg.plugins.welcome.motd} rules=${pkgs.writeText "rules.txt" cfg.plugins.welcome.rules}"
|
||||
''
|
||||
+ optionalString cfg.plugins.history.enable ''
|
||||
plugin ${uhubPkg.mod_chat_history}/mod_chat_history.so "history_max=${toString cfg.plugins.history.max} history_default=${toString cfg.plugins.history.default} history_connect=${toString cfg.plugins.history.connect}"
|
||||
'';
|
||||
|
||||
uhubConfigFile = pkgs.writeText "uhub.conf" ''
|
||||
file_acl=${pkgs.writeText "users.conf" cfg.aclConfig}
|
||||
file_plugins=${pkgs.writeText "plugins.conf" pluginConfig}
|
||||
server_bind_addr=${cfg.address}
|
||||
server_port=${toString cfg.port}
|
||||
${lib.optionalString cfg.enableTLS "tls_enable=yes"}
|
||||
${cfg.hubConfig}
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
settingsFormat = {
|
||||
type = with lib.types; attrsOf (oneOf [ bool int str ]);
|
||||
generate = name: attrs:
|
||||
pkgs.writeText name (lib.strings.concatStringsSep "\n"
|
||||
(lib.attrsets.mapAttrsToList
|
||||
(key: value: "${key}=${builtins.toJSON value}") attrs));
|
||||
};
|
||||
in {
|
||||
options = {
|
||||
|
||||
services.uhub = {
|
||||
services.uhub = mkOption {
|
||||
default = { };
|
||||
description = "Uhub ADC hub instances";
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the uhub ADC hub.";
|
||||
};
|
||||
enable = mkEnableOption "hub instance" // { default = true; };
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 1511;
|
||||
description = "TCP port to bind the hub to.";
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "any";
|
||||
description = "Address to bind the hub to.";
|
||||
};
|
||||
|
||||
enableTLS = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable TLS support.";
|
||||
};
|
||||
|
||||
hubConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = "Contents of uhub configuration file.";
|
||||
};
|
||||
|
||||
aclConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = "Contents of user ACL configuration file.";
|
||||
};
|
||||
|
||||
plugins = {
|
||||
|
||||
authSqlite = {
|
||||
enable = mkOption {
|
||||
enableTLS = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the Sqlite authentication database plugin";
|
||||
description = "Whether to enable TLS support.";
|
||||
};
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
example = "/var/db/uhub-users";
|
||||
description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users.";
|
||||
};
|
||||
};
|
||||
|
||||
logging = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the logging plugin.";
|
||||
};
|
||||
file = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Path of log file.";
|
||||
};
|
||||
syslog = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "If true then the system log is used instead of writing to file.";
|
||||
};
|
||||
};
|
||||
|
||||
welcome = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the welcome plugin.";
|
||||
};
|
||||
motd = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
settings = mkOption {
|
||||
inherit (settingsFormat) type;
|
||||
description = ''
|
||||
Welcome message displayed to clients after connecting
|
||||
and with the <literal>!motd</literal> command.
|
||||
Configuration of uhub.
|
||||
See https://www.uhub.org/doc/config.php for a list of options.
|
||||
'';
|
||||
default = { };
|
||||
example = {
|
||||
server_bind_addr = "any";
|
||||
server_port = 1511;
|
||||
hub_name = "My Public Hub";
|
||||
hub_description = "Yet another ADC hub";
|
||||
max_users = 150;
|
||||
};
|
||||
};
|
||||
rules = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
description = ''
|
||||
Rules message, displayed to clients with the <literal>!rules</literal> command.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
history = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the history plugin.";
|
||||
plugins = mkOption {
|
||||
description = "Uhub plugin configuration.";
|
||||
type = with types;
|
||||
listOf (submodule {
|
||||
options = {
|
||||
plugin = mkOption {
|
||||
type = path;
|
||||
example = literalExample
|
||||
"$${pkgs.uhub}/plugins/mod_auth_sqlite.so";
|
||||
description = "Path to plugin file.";
|
||||
};
|
||||
settings = mkOption {
|
||||
description = "Settings specific to this plugin.";
|
||||
type = with types; attrsOf str;
|
||||
example = { file = "/etc/uhub/users.db"; };
|
||||
};
|
||||
};
|
||||
});
|
||||
default = [ ];
|
||||
};
|
||||
max = mkOption {
|
||||
type = types.int;
|
||||
default = 200;
|
||||
description = "The maximum number of messages to keep in history";
|
||||
};
|
||||
default = mkOption {
|
||||
type = types.int;
|
||||
default = 10;
|
||||
description = "When !history is provided without arguments, then this default number of messages are returned.";
|
||||
};
|
||||
connect = mkOption {
|
||||
type = types.int;
|
||||
default = 5;
|
||||
description = "The number of chat history messages to send when users connect (0 = do not send any history).";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = let
|
||||
hubs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.uhub;
|
||||
in {
|
||||
|
||||
users = {
|
||||
users.uhub.uid = config.ids.uids.uhub;
|
||||
groups.uhub.gid = config.ids.gids.uhub;
|
||||
};
|
||||
environment.etc = lib.attrsets.mapAttrs' (name: cfg:
|
||||
let
|
||||
settings' = cfg.settings // {
|
||||
tls_enable = cfg.enableTLS;
|
||||
file_plugins = pkgs.writeText "uhub-plugins.conf"
|
||||
(lib.strings.concatStringsSep "\n" (map ({ plugin, settings }:
|
||||
"plugin ${plugin} ${
|
||||
toString
|
||||
(lib.attrsets.mapAttrsToList (key: value: ''"${key}=${value}"'')
|
||||
settings)
|
||||
}") cfg.plugins));
|
||||
};
|
||||
in {
|
||||
name = "uhub/${name}.conf";
|
||||
value.source = settingsFormat.generate "uhub-${name}.conf" settings';
|
||||
}) hubs;
|
||||
|
||||
systemd.services.uhub = {
|
||||
description = "high performance peer-to-peer hub for the ADC network";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
ExecStart = "${uhubPkg}/bin/uhub -c ${uhubConfigFile} -u uhub -g uhub -L";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
systemd.services = lib.attrsets.mapAttrs' (name: cfg: {
|
||||
name = "uhub-${name}";
|
||||
value = let pkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
|
||||
in {
|
||||
description = "high performance peer-to-peer hub for the ADC network";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
ExecStart = "${pkg}/bin/uhub -c /etc/uhub/${name}.conf -L";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
DynamicUser = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}) hubs;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -32,9 +32,9 @@ let
|
||||
description = "Bind address for ${name} endpoint.";
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
default = port;
|
||||
description = "Bind port for ${name} endoint.";
|
||||
description = "Bind port for ${name} endpoint.";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ in {
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
default = 9000;
|
||||
description = "TCP port to listen on for http connections.";
|
||||
};
|
||||
|
||||
@@ -520,11 +520,7 @@ in
|
||||
XAuthLocation ${pkgs.xorg.xauth}/bin/xauth
|
||||
''}
|
||||
|
||||
${if cfg.forwardX11 then ''
|
||||
X11Forwarding yes
|
||||
'' else ''
|
||||
X11Forwarding no
|
||||
''}
|
||||
X11Forwarding ${if cfg.forwardX11 then "yes" else "no"}
|
||||
|
||||
${optionalString cfg.allowSFTP ''
|
||||
Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
|
||||
|
||||
@@ -21,7 +21,7 @@ in
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
default = 8999;
|
||||
description = ''
|
||||
TCP port to bind to.
|
||||
|
||||
@@ -42,11 +42,6 @@ in {
|
||||
description = ''
|
||||
The interfaces <command>wpa_supplicant</command> will use. If empty, it will
|
||||
automatically use all wireless interfaces.
|
||||
<warning><para>
|
||||
The automatic discovery of interfaces does not work reliably on boot:
|
||||
it may fail and leave the system without network. When possible, specify
|
||||
a known interface name.
|
||||
</para></warning>
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -230,14 +225,6 @@ in {
|
||||
message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
|
||||
});
|
||||
|
||||
warnings =
|
||||
optional (cfg.interfaces == [] && config.systemd.services.wpa_supplicant.wantedBy != [])
|
||||
''
|
||||
No network interfaces for wpa_supplicant have been configured: the service
|
||||
may randomly fail to start at boot. You should specify at least one using the option
|
||||
networking.wireless.interfaces.
|
||||
'';
|
||||
|
||||
environment.systemPackages = [ package ];
|
||||
|
||||
services.dbus.packages = [ package ];
|
||||
@@ -258,31 +245,45 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
stopIfChanged = false;
|
||||
|
||||
path = [ package ];
|
||||
path = [ package pkgs.udev ];
|
||||
|
||||
script = let
|
||||
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
||||
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
|
||||
else "-c ${configFile}";
|
||||
in ''
|
||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]
|
||||
then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
||||
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||
fi
|
||||
|
||||
iface_args="-s -u -D${cfg.driver} ${configStr}"
|
||||
|
||||
${if ifaces == [] then ''
|
||||
for i in $(cd /sys/class/net && echo *); do
|
||||
DEVTYPE=
|
||||
UEVENT_PATH=/sys/class/net/$i/uevent
|
||||
if [ -e "$UEVENT_PATH" ]; then
|
||||
source "$UEVENT_PATH"
|
||||
if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
|
||||
args+="''${args:+ -N} -i$i $iface_args"
|
||||
fi
|
||||
fi
|
||||
# detect interfaces automatically
|
||||
|
||||
# check if there are no wireless interface
|
||||
if ! find -H /sys/class/net/* -name wireless | grep -q .; then
|
||||
# if so, wait until one appears
|
||||
echo "Waiting for wireless interfaces"
|
||||
grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu)
|
||||
# Note: the above line has been carefully written:
|
||||
# 1. The process substitution avoids udevadm hanging (after grep has quit)
|
||||
# until it tries to write to the pipe again. Not even pipefail works here.
|
||||
# 2. stdbuf is needed because udevadm output is buffered by default and grep
|
||||
# may hang until more udev events enter the pipe.
|
||||
fi
|
||||
|
||||
# add any interface found to the daemon arguments
|
||||
for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do
|
||||
echo "Adding interface $name"
|
||||
args+="''${args:+ -N} -i$name $iface_args"
|
||||
done
|
||||
'' else ''
|
||||
# add known interfaces to the daemon arguments
|
||||
args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
|
||||
''}
|
||||
|
||||
# finally start daemon
|
||||
exec wpa_supplicant $args
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@ in with lib; {
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
default = 43110;
|
||||
example = 43110;
|
||||
description = "Optional zeronet web UI port.";
|
||||
@@ -41,7 +41,7 @@ in with lib; {
|
||||
fileserverPort = mkOption {
|
||||
# Not optional: when absent zeronet tries to write one to the
|
||||
# read-only config file and crashes
|
||||
type = types.int;
|
||||
type = types.port;
|
||||
default = 12261;
|
||||
example = 12261;
|
||||
description = "Zeronet fileserver port.";
|
||||
|
||||
@@ -94,6 +94,7 @@ in
|
||||
cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
|
||||
custom-ca = handleTest ./custom-ca.nix {};
|
||||
croc = handleTest ./croc.nix {};
|
||||
cryptpad = handleTest ./cryptpad.nix {};
|
||||
deluge = handleTest ./deluge.nix {};
|
||||
dendrite = handleTest ./dendrite.nix {};
|
||||
dhparams = handleTest ./dhparams.nix {};
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import ./make-test-python.nix ({ lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
name = "cryptpad";
|
||||
meta.maintainers = with maintainers; [ davhau ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{ services.cryptpad.enable = true; };
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("cryptpad.service")
|
||||
machine.wait_for_open_port("3000")
|
||||
machine.succeed("curl -L --fail http://localhost:3000/sheet")
|
||||
'';
|
||||
})
|
||||
@@ -15,11 +15,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "svkbd";
|
||||
version = "0.3";
|
||||
version = "0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
|
||||
sha256 = "108khx665d7dlzs04iy4g1nw3fyqpy6kd0afrwiapaibgv4xhfsk";
|
||||
sha256 = "sha256-j9RW5/4cb8l3FK9jpFf206l1rQhCR5H/WMiu7I6rzV8=";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, ffmpeg
|
||||
, libcdio
|
||||
, libcdio-paranoia
|
||||
, libmusicbrainz5
|
||||
, curl
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cyanrip";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cyanreg";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0lgb92sfpf4w3nj5vlj6j7931mj2q3cmcx1app9snf853jk9ahmw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
buildInputs = [ ffmpeg libcdio libcdio-paranoia libmusicbrainz5 curl ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/cyanreg/cyanrip";
|
||||
description = "Bule-ish CD ripper";
|
||||
license = licenses.lgpl3Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.zane ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{ stdenv, lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "erigon";
|
||||
version = "2021.08.01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ledgerwatch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fjMkCCeQa/IHB4yXlL7Qi8J9wtZm90l3xIA72LeoW8M=";
|
||||
};
|
||||
|
||||
vendorSha256 = "1vsgd19an592dblm9afasmh8cd0x2frw5pvnxkxd2fikhy2mibbs";
|
||||
runVend = true;
|
||||
|
||||
# Build errors in mdbx when format hardening is enabled:
|
||||
# cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
subPackages = [
|
||||
"cmd/erigon"
|
||||
"cmd/evm"
|
||||
"cmd/rpcdaemon"
|
||||
"cmd/rlpdump"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ledgerwatch/erigon/";
|
||||
description = "Ethereum node implementation focused on scalability and modularity";
|
||||
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
||||
maintainers = with maintainers; [ d-xo ];
|
||||
};
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "turbo-geth";
|
||||
version = "2021.05.02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ledgerwatch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7sTRAAlKZOdwi/LRbIEDKWpBe1ol8pZfEf2KIC4s0xk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "1d0ahdb2b5v8nxq3kdxw151phnyv6habb8kr8qjaq3kyhcnyk6ng";
|
||||
runVend = true;
|
||||
|
||||
subPackages = [
|
||||
"cmd/tg"
|
||||
"cmd/evm"
|
||||
"cmd/rpcdaemon"
|
||||
"cmd/rlpdump"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ledgerwatch/turbo-geth/";
|
||||
description = "Ethereum node and geth fork focused on scalability and modularity";
|
||||
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
||||
maintainers = with maintainers; [ d-xo ];
|
||||
};
|
||||
}
|
||||
@@ -20,6 +20,7 @@ rustPlatform.buildRustPackage rec {
|
||||
description = "A post-modern modal text editor";
|
||||
homepage = "https://helix-editor.com";
|
||||
license = licenses.mpl20;
|
||||
mainProgram = "hx";
|
||||
maintainers = with maintainers; [ yusdacra ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchgit
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, python2
|
||||
, expat
|
||||
, openssl
|
||||
, SDL2
|
||||
, fontconfig
|
||||
, freetype
|
||||
, ninja
|
||||
, gn
|
||||
, llvmPackages
|
||||
@@ -21,16 +22,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "neovide";
|
||||
version = "unstable-2021-06-21";
|
||||
version = "unstable-2021-08-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kethku";
|
||||
repo = "neovide";
|
||||
rev = "4159c47ff4f30073b92b9d63fc6ab70e07b74b6d";
|
||||
sha256 = "sha256-XwirJGXMGxc/NkpSeHBUc16ppvJ+H4ECnrOVu030Qfg=";
|
||||
rev = "725f12cafd4a26babd0d6bbcbca9a99c181991ac";
|
||||
sha256 = "sha256-ThMobWKe3wHhR15TmmKrI6Gp1wvGVfJ52MzibK0ubkc=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-WCk9kt81DtBwpEEdKH9gKQSVxAvH+vkyP2y24tU+vzY=";
|
||||
cargoSha256 = "sha256-5lOGncnyA8DwetY5bU6k2KXNClFgp+xIBEeA0/iwGF0=";
|
||||
|
||||
SKIA_SOURCE_DIR =
|
||||
let
|
||||
@@ -38,8 +39,8 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "rust-skia";
|
||||
repo = "skia";
|
||||
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
|
||||
rev = "m90-0.38.3";
|
||||
sha256 = "sha256-l8c4vfO1PELAT8bDyr/yQGZetZsaufAlJ6bBOXz7E1w=";
|
||||
rev = "m91-0.39.4";
|
||||
sha256 = "sha256-ovlR1vEZaQqawwth/UYVUSjFu+kTsywRpRClBaE1CEA=";
|
||||
};
|
||||
# The externals for skia are taken from skia/DEPS
|
||||
externals = lib.mapAttrs (n: v: fetchgit v) (lib.importJSON ./skia-externals.json);
|
||||
@@ -79,10 +80,20 @@ rustPlatform.buildRustPackage rec {
|
||||
doCheck = false;
|
||||
|
||||
buildInputs = [
|
||||
expat
|
||||
openssl
|
||||
SDL2
|
||||
fontconfig
|
||||
(fontconfig.overrideAttrs (old: {
|
||||
propagatedBuildInputs = [
|
||||
# skia is not compatible with freetype 2.11.0
|
||||
(freetype.overrideAttrs (old: rec {
|
||||
version = "2.10.4";
|
||||
src = fetchurl {
|
||||
url = "mirror://savannah/${old.pname}/${old.pname}-${version}.tar.xz";
|
||||
sha256 = "112pyy215chg7f7fmp2l9374chhhpihbh8wgpj5nj6avj3c59a46";
|
||||
};
|
||||
}))
|
||||
];
|
||||
}))
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vimacs";
|
||||
version = vimPackage.version;
|
||||
version = lib.getVersion vimPackage;
|
||||
vimPackage = if useMacvim then macvim else vim_configurable;
|
||||
|
||||
buildInputs = [ vimPackage vimPlugins.vimacs ];
|
||||
|
||||
@@ -22,7 +22,7 @@ let
|
||||
inherit pname version src sourceRoot;
|
||||
|
||||
passthru = {
|
||||
inherit executableName tests updateScript;
|
||||
inherit executableName longName tests updateScript;
|
||||
fhs = fhs {};
|
||||
fhsWithPackages = f: fhs { additionalPkgs = f; };
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, runCommand, buildEnv, vscode, makeWrapper
|
||||
{ lib, stdenv, runCommand, buildEnv, vscode, makeWrapper
|
||||
, vscodeExtensions ? [] }:
|
||||
|
||||
/*
|
||||
@@ -42,8 +42,7 @@
|
||||
*/
|
||||
|
||||
let
|
||||
|
||||
inherit (vscode) executableName;
|
||||
inherit (vscode) executableName longName;
|
||||
wrappedPkgVersion = lib.getVersion vscode;
|
||||
wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name;
|
||||
|
||||
@@ -52,6 +51,9 @@ let
|
||||
paths = vscodeExtensions;
|
||||
};
|
||||
|
||||
extensionsFlag = lib.optionalString (vscodeExtensions != []) ''
|
||||
--add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
|
||||
'';
|
||||
in
|
||||
|
||||
# When no extensions are requested, we simply redirect to the original
|
||||
@@ -62,7 +64,17 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
|
||||
dontPatchELF = true;
|
||||
dontStrip = true;
|
||||
meta = vscode.meta;
|
||||
} ''
|
||||
} (if stdenv.isDarwin then ''
|
||||
mkdir -p $out/bin/
|
||||
mkdir -p "$out/Applications/${longName}.app/Contents/MacOS"
|
||||
|
||||
for path in PkgInfo Frameworks Resources _CodeSignature Info.plist; do
|
||||
ln -s "${vscode}/Applications/${longName}.app/Contents/$path" "$out/Applications/${longName}.app/Contents/"
|
||||
done
|
||||
|
||||
makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
|
||||
makeWrapper "${vscode}/Applications/${longName}.app/Contents/MacOS/Electron" "$out/Applications/${longName}.app/Contents/MacOS/Electron" ${extensionsFlag}
|
||||
'' else ''
|
||||
mkdir -p "$out/bin"
|
||||
mkdir -p "$out/share/applications"
|
||||
mkdir -p "$out/share/pixmaps"
|
||||
@@ -70,7 +82,5 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
|
||||
ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png"
|
||||
ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
|
||||
ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
|
||||
makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${lib.optionalString (vscodeExtensions != []) ''
|
||||
--add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
|
||||
''}
|
||||
''
|
||||
makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
|
||||
'')
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openimageio";
|
||||
version = "2.2.12.0";
|
||||
version = "2.2.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenImageIO";
|
||||
repo = "oiio";
|
||||
rev = "Release-${version}";
|
||||
sha256 = "16z8lnsqhljbfaarfwx9rc95p0a9wxf4p271j6kxdfknjb88p56i";
|
||||
sha256 = "0jqpb1zci911wdm928addsljxx8zsh0gzbhv9vbw6man4wi93h6h";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "out" "dev" "doc" ];
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchPypi
|
||||
, requests
|
||||
, mypy-extensions
|
||||
, django_3
|
||||
, django_extensions
|
||||
, dateparser
|
||||
, youtube-dl
|
||||
, python-crontab
|
||||
, croniter
|
||||
, w3lib
|
||||
, ipython
|
||||
}:
|
||||
|
||||
let
|
||||
django_3' = django_3.overridePythonAttrs (old: rec {
|
||||
pname = "Django";
|
||||
version = "3.1.7";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Ms55Lum2oMu+w0ASPiKayfdl3/jCpK6SR6FLK6OjZac=";
|
||||
};
|
||||
});
|
||||
in
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "archivebox";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-zHty7lTra6yab9d0q3EqsPG3F+lrnZL6PjQAbL1A2NY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
mypy-extensions
|
||||
django_3'
|
||||
django_extensions
|
||||
dateparser
|
||||
youtube-dl
|
||||
python-crontab
|
||||
croniter
|
||||
w3lib
|
||||
ipython
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open source self-hosted web archiving";
|
||||
homepage = "https://archivebox.io";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ siraben ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -100,13 +100,13 @@ in {
|
||||
|
||||
application = mkSweetHome3D rec {
|
||||
pname = lib.toLower module + "-application";
|
||||
version = "6.5.2";
|
||||
version = "6.6";
|
||||
module = "SweetHome3D";
|
||||
description = "Design and visualize your future home";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
|
||||
sha256 = "1j0xm2vmcxxjmf12k8rfnisq9hd7hqaiyxrfbrbjxis9iq3kycp3";
|
||||
sha256 = "sha256-CnVXpmodmyoZdqmt7OgRyzuLeDhkPhrAS/CldFM8SQs=";
|
||||
};
|
||||
desktopName = "Sweet Home 3D";
|
||||
icons = {
|
||||
|
||||
@@ -99,14 +99,14 @@ in {
|
||||
};
|
||||
|
||||
furniture-editor = mkEditorProject rec {
|
||||
version = "1.27";
|
||||
version = "1.28";
|
||||
module = "FurnitureLibraryEditor";
|
||||
pname = module;
|
||||
description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
|
||||
license = lib.licenses.gpl2;
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
|
||||
sha256 = "1zxbcn9awgax8lalzkc05f5yfwbgnrayc17fkyv5i19j4qb3r2a0";
|
||||
sha256 = "sha256-r5xJlUctUdcknJfm8rbz+bdzFhqgHsHpHwxEC4mItws=";
|
||||
};
|
||||
desktopName = "Sweet Home 3D - Furniture Library Editor";
|
||||
};
|
||||
|
||||
@@ -10,11 +10,11 @@ with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zathura";
|
||||
version = "0.4.7";
|
||||
version = "0.4.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
||||
sha256 = "1rx1fk9s556fk59lmqgvhwrmv71ashh89bx9adjq46wq5gzdn4p0";
|
||||
sha256 = "1nr0ym1mi2afk4ycdf1ppmkcv7i7hyzwn4p3r4m0j2qm3nvaiami";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "man" "dev" "out" ];
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
{ autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook
|
||||
, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig
|
||||
, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
|
||||
, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
|
||||
, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
|
||||
, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
|
||||
, fetchurl, fetchFromGitHub, imagemagick, copyDesktopItems
|
||||
}:
|
||||
|
||||
let
|
||||
binaryName = "AetherP2P";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aether";
|
||||
version = "2.0.0-dev.15";
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "https://static.getaether.net/Releases/Aether-${version}/2011262249.19338c93/linux/Aether-${version}%2B2011262249.19338c93.tar.gz";
|
||||
sha256 = "1hi8w83zal3ciyzg2m62shkbyh6hj7gwsidg3dn88mhfy68himf7";
|
||||
# % in the url / canonical filename causes an error
|
||||
name = "aether-tarball.tar.gz";
|
||||
})
|
||||
(fetchFromGitHub {
|
||||
owner = "aethereans";
|
||||
repo = "aether-app";
|
||||
rev = "53b6c8b2a9253cbf056ea3ebb077e0e08cbc5b1d";
|
||||
sha256 = "1kgkzh7ih2q9dsckdkinh5dbzvr7gdykf8yz6h8pyhvzyjhk1v0r";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = "Aether-${version}+2011262249.19338c93";
|
||||
|
||||
# there is no logo in the tarball so we grab it from github and convert it in the build phase
|
||||
buildPhase = ''
|
||||
convert ../source/aether-core/aether/client/src/app/ext_dep/images/Linux-Windows-App-Icon.png -resize 512x512 aether.png
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
cups
|
||||
libdrm
|
||||
libuuid
|
||||
libXdamage
|
||||
libX11
|
||||
libXScrnSaver
|
||||
libXtst
|
||||
libxcb
|
||||
libxshmfence
|
||||
mesa
|
||||
nss
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
imagemagick
|
||||
autoPatchelfHook
|
||||
wrapGAppsHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
exec = binaryName;
|
||||
icon = pname;
|
||||
desktopName = "Aether";
|
||||
genericName = meta.description;
|
||||
categories = "Network;";
|
||||
mimeType = "x-scheme-handler/aether";
|
||||
})
|
||||
];
|
||||
|
||||
installPhase =
|
||||
let
|
||||
libPath = lib.makeLibraryPath [
|
||||
libcxx systemd libpulseaudio libdrm mesa
|
||||
stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
|
||||
gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
|
||||
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
|
||||
libXtst nspr nss libxcb pango systemd libXScrnSaver
|
||||
libappindicator-gtk3 libdbusmenu
|
||||
];
|
||||
in
|
||||
''
|
||||
mkdir -p $out/{bin,opt/${binaryName},share/icons/hicolor/512x512/apps}
|
||||
mv * $out/opt/${binaryName}
|
||||
|
||||
chmod +x $out/opt/${binaryName}/${binaryName}
|
||||
patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
|
||||
$out/opt/${binaryName}/${binaryName}
|
||||
|
||||
wrapProgram $out/opt/${binaryName}/${binaryName} \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}" \
|
||||
--prefix LD_LIBRARY_PATH : ${libPath}
|
||||
|
||||
ln -s $out/opt/${binaryName}/${binaryName} $out/bin/
|
||||
|
||||
ln -s $out/opt/${binaryName}/aether.png $out/share/icons/hicolor/512x512/apps/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Peer-to-peer ephemeral public communities";
|
||||
homepage = "https://getaether.net/";
|
||||
downloadPage = "https://getaether.net/download/";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ maxhille ];
|
||||
# other platforms could be supported by building from source
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "terraform-docs";
|
||||
version = "0.14.1";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "terraform-docs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Jm0ySxn4GFW4iAH3tOIvclcDGJMKzH7m7fhWnAf4+gs=";
|
||||
sha256 = "sha256-PzGlEEhootf2SCOy7+11aST7NMTNhNMQWeZO40mrMYQ=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-IzmAlthE6SVvGHj72wrY1/KLehOv8Ck9VaTv5jMpt48=";
|
||||
vendorSha256 = "sha256-T/jgFPBUQMATX7DoWsDR/VFjka7Vxk7F4taE25cdnTk=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
|
||||
, webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
|
||||
, gobject-introspection }:
|
||||
, gobject-introspection, glib-networking }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "foliate";
|
||||
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
gettext
|
||||
glib
|
||||
glib-networking
|
||||
gjs
|
||||
gtk3
|
||||
webkitgtk
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ginac-1.8.0";
|
||||
name = "ginac-1.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/${name}.tar.bz2";
|
||||
sha256 = "0l9byzfxq3f9az5pcdldnl95ws8mpirkqky46f973mvxi5541d24";
|
||||
sha256 = "sha256-8WldvWsYcGHvP7pQdkjJ1tukOPczsFjBb5J4y9z14as=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cln ];
|
||||
|
||||
@@ -2,20 +2,26 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "glab";
|
||||
version = "1.18.1";
|
||||
version = "1.20.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "profclems";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ahP5y5i0SMj2+mP4RYc7MLZGElX5eLgKwiVhBYGOX2g=";
|
||||
sha256 = "sha256-MHNhl6lrBqHZ6M4fVOnSDxEcF6RqfWHWx5cvUhRXJKw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ssVmqcJ/DxUqAkHm9tn4RwWuKzTHvxoqJquXPIRy4b8=";
|
||||
vendorSha256 = "sha256-9+WBKc8PI0v6bnkC+78Ygv/eocQ3D7+xBb8lcv16QTE=";
|
||||
runVend = true;
|
||||
|
||||
# Tests are trying to access /homeless-shelter
|
||||
doCheck = false;
|
||||
ldflags = [
|
||||
"-X main.version=${version}"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
# failed to read configuration: mkdir /homeless-shelter: permission denied
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
subPackages = [ "cmd/glab" ];
|
||||
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl }:
|
||||
{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl, undmg }:
|
||||
|
||||
let
|
||||
pname = "radicle-upstream";
|
||||
version = "0.2.3";
|
||||
version = "0.2.9";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
|
||||
sha256 = "sha256-SL6plXZ+o7JchY/t/1702FK57fVjxllHqB8ZOma/43c=";
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
|
||||
sha256 = "sha256-chju3ZEFFLOzE9FakUK2izm/5ejELdL/iWMtM3bRpWY=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://releases.radicle.xyz/radicle-upstream-${version}.dmg";
|
||||
sha256 = "sha256-OOqe4diRcJWHHOa6jBpljPoA3FQOKlghMhKGQ242GnM=";
|
||||
};
|
||||
};
|
||||
src = srcs.${stdenv.hostPlatform.system};
|
||||
|
||||
contents = appimageTools.extractType2 { inherit name src; };
|
||||
contents = appimageTools.extract { inherit name src; };
|
||||
|
||||
git-remote-rad = stdenv.mkDerivation rec {
|
||||
pname = "git-remote-rad";
|
||||
@@ -25,40 +32,56 @@ let
|
||||
cp ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
# FIXME: a dependency of the `proxy` component of radicle-upstream (radicle-macros
|
||||
# v0.1.0) uses unstable rust features, making a from source build impossible at
|
||||
# this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
|
||||
appimageTools.wrapType2 {
|
||||
inherit name src;
|
||||
# FIXME: a dependency of the `proxy` component of radicle-upstream (radicle-macros
|
||||
# v0.1.0) uses unstable rust features, making a from source build impossible at
|
||||
# this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
|
||||
linux = appimageTools.wrapType2 {
|
||||
inherit name src meta;
|
||||
|
||||
profile = ''
|
||||
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
|
||||
'';
|
||||
profile = ''
|
||||
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
|
||||
'';
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
|
||||
# this automatically adds the git-remote-rad binary to the users `PATH` so
|
||||
# they don't need to mess around with shell profiles...
|
||||
ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
|
||||
# this automatically adds the git-remote-rad binary to the users `PATH` so
|
||||
# they don't need to mess around with shell profiles...
|
||||
ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
|
||||
|
||||
# desktop item
|
||||
install -m 444 -D ${contents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
# desktop item
|
||||
install -m 444 -D ${contents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
|
||||
# icon
|
||||
install -m 444 -D ${contents}/${pname}.png \
|
||||
$out/share/icons/hicolor/512x512/apps/${pname}.png
|
||||
'';
|
||||
# icon
|
||||
install -m 444 -D ${contents}/${pname}.png \
|
||||
$out/share/icons/hicolor/512x512/apps/${pname}.png
|
||||
'';
|
||||
};
|
||||
|
||||
darwin = stdenv.mkDerivation {
|
||||
inherit pname version src meta;
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r *.app $out/Applications
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A decentralized app for code collaboration";
|
||||
homepage = "https://radicle.xyz/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ d-xo ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
in
|
||||
if stdenv.isDarwin
|
||||
then darwin
|
||||
else linux
|
||||
|
||||
@@ -13,11 +13,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gitkraken";
|
||||
version = "7.7.1";
|
||||
version = "7.7.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
|
||||
sha256 = "sha256-nFXj40PfHctymBcZoiJNzkvAsFnABD300/aUqNpUn2c=";
|
||||
sha256 = "sha256-jL0XLw0V0ED+lDBn3sGaJmm96zQwXue333UuYGHjB64=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ccextractor";
|
||||
version = "0.91";
|
||||
version = "0.92";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CCExtractor";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VqJQaYzH8psQJfnDariV4q7SkDiXRz9byR51C8DzVEs=";
|
||||
sha256 = "sha256-cEC0SF69CDLKQyTPIOZYPgxNR29mJVnzOZraGvPQjdg=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src";
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ config, lib, stdenv
|
||||
{ config
|
||||
, lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, addOpenGLRunpath
|
||||
@@ -41,7 +43,8 @@
|
||||
let
|
||||
inherit (lib) optional optionals;
|
||||
|
||||
in mkDerivation rec {
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "obs-studio";
|
||||
version = "27.0.0";
|
||||
|
||||
@@ -61,7 +64,13 @@ in mkDerivation rec {
|
||||
./Change-product_version-to-user_agent_product.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ addOpenGLRunpath cmake pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
addOpenGLRunpath
|
||||
cmake
|
||||
pkg-config
|
||||
makeWrapper
|
||||
]
|
||||
++ optional scriptingSupport swig;
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
@@ -81,10 +90,9 @@ in mkDerivation rec {
|
||||
wayland
|
||||
x264
|
||||
libvlc
|
||||
makeWrapper
|
||||
mbedtls
|
||||
]
|
||||
++ optionals scriptingSupport [ luajit swig python3 ]
|
||||
++ optionals scriptingSupport [ luajit python3 ]
|
||||
++ optional alsaSupport alsa-lib
|
||||
++ optional pulseaudioSupport libpulseaudio
|
||||
++ optional pipewireSupport pipewire;
|
||||
@@ -132,7 +140,7 @@ in mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://obsproject.com";
|
||||
maintainers = with maintainers; [ jb55 MP2E V ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ let self = stdenv.mkDerivation rec {
|
||||
PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
|
||||
|
||||
passthru = {
|
||||
libdir = "${self}/lib/mutter-7";
|
||||
libdir = "${self}/lib/mutter-8";
|
||||
|
||||
tests = {
|
||||
libdirExists = runCommand "mutter-libdir-exists" {} ''
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
"lockkeys@vaina.lt" = "lock-keys";
|
||||
"lockkeys@fawtytoo" = "lock-keys-2";
|
||||
|
||||
"system-monitor@paradoxxx.zero.gmail.com" = "system-monitor"; # manually packaged
|
||||
"System_Monitor@bghome.gmail.com" = "system-monitor-2";
|
||||
|
||||
|
||||
# ############################################################################
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, src, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, src, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||
inherit src;
|
||||
sourceRoot = "source/compiler-rt";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, version, src, cmake, python3, llvm, libcxxabi }:
|
||||
{ lib, stdenv, llvm_meta, version, src, cmake, python3, libllvm, libcxxabi }:
|
||||
|
||||
let
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||
inherit src;
|
||||
sourceRoot = "source/compiler-rt";
|
||||
|
||||
nativeBuildInputs = [ cmake python3 llvm.dev ];
|
||||
nativeBuildInputs = [ cmake python3 libllvm.dev ];
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
libchipcard.version = "5.0.4";
|
||||
libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
|
||||
libchipcard.releaseId = "158";
|
||||
aqbanking.version = "6.2.10";
|
||||
aqbanking.sha256 = "13dbpi58mw09gnsza11pxy5c8j99r11nkyg2j53y4lqk47rmyhvq";
|
||||
aqbanking.releaseId = "368";
|
||||
aqbanking.version = "6.3.0";
|
||||
aqbanking.sha256 = "1k2mhdnk0jc0inq1hmp74m3y7azxrjm8r07x5k1pp4ic0yi5vs50";
|
||||
aqbanking.releaseId = "372";
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dyncall";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.dyncall.org/r1.2/dyncall-1.2.tar.gz";
|
||||
url = "https://www.dyncall.org/r${version}/dyncall-${version}.tar.gz";
|
||||
# https://www.dyncall.org/r1.2/SHA256
|
||||
sha256 = "sha256-6IFUwCQ0IVYHBPXHKUr73snpka+gYB1a3/UELqgYCNc=";
|
||||
};
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ lib, stdenv, fetchurl, cmake
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, cmake
|
||||
, glib
|
||||
, nss
|
||||
, nspr
|
||||
@@ -52,18 +55,39 @@ let
|
||||
cups
|
||||
libxshmfence
|
||||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
platforms = {
|
||||
"aarch64-linux" = {
|
||||
platformStr = "linuxarm64";
|
||||
projectArch = "arm64";
|
||||
sha256 = "1j93qawh9h6k2ic70i10npppv5f9dch961lc1wxwsi68daq8r081";
|
||||
};
|
||||
"i686-linux" = {
|
||||
platformStr = "linux32";
|
||||
projectArch = "x86";
|
||||
sha256 = "0ki4zr8ih06kirgbpxbinv4baw3qvacx208q6qy1cvpfh6ll4fwb";
|
||||
};
|
||||
"x86_64-linux" = {
|
||||
platformStr = "linux64";
|
||||
projectArch = "x86_64";
|
||||
sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
|
||||
};
|
||||
};
|
||||
|
||||
platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cef-binary";
|
||||
version = "90.6.7";
|
||||
gitRevision = "19ba721";
|
||||
chromiumVersion = "90.0.4430.212";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_linux64_minimal.tar.bz2";
|
||||
sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
|
||||
url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
|
||||
inherit (platformInfo) sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
cmakeFlags = "-DPROJECT_ARCH=${platformInfo.projectArch}";
|
||||
makeFlags = [ "libcef_dll_wrapper" ];
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
@@ -83,6 +107,6 @@ in stdenv.mkDerivation rec {
|
||||
homepage = "https://cef-builds.spotifycdn.com/index.html";
|
||||
maintainers = with maintainers; [ puffnfresh ];
|
||||
license = licenses.bsd3;
|
||||
platforms = with platforms; linux;
|
||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libnbd";
|
||||
version = "1.9.2";
|
||||
version = "1.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-development/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-UDLH5IMuKI6mAO/9VNmI8pCbxv94tCCQYRKZn2DBclg=";
|
||||
hash = "sha256-qF9IFZGj+9Zuw00+9pbgAhBUk+eUIAxhYNJAMWxmWo0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
{ stdenvNoCC
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, bash
|
||||
, gnused
|
||||
, gawk
|
||||
, coreutils
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "optparse-bash-unstable";
|
||||
version = "2021-06-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nk412";
|
||||
repo = "optparse";
|
||||
rev = "d86ec17d15368e5b54eb2d47b001b0b61d68bbd0";
|
||||
sha256 = "sha256-vs7Jo1+sV0tPse4Wu2xtzSX1IkahwLgO3e4Riz3uMmI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace optparse.bash \
|
||||
--replace sed "${gnused}/bin/sed" \
|
||||
--replace awk "${gawk}/bin/awk" \
|
||||
--replace printf "${coreutils}/bin/printf"
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkInputs = [ bash ];
|
||||
|
||||
# `#!/usr/bin/env` isn't okay for OfBorg
|
||||
# Need external bash to run
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
bash ./sample_head.sh -v --file README.md
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mv optparse.bash $out/bin/
|
||||
mkdir -p $out/share/doc/optparse-bash
|
||||
mv README.md sample_head.sh $out/share/doc/optparse-bash/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# As example code,
|
||||
# sample_head.sh shows how users can use opt-parse in their script,
|
||||
# and its shebang (`/usr/bin/env bash`) should not be patched.
|
||||
dontPatchShebangs = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A BASH wrapper for getopts, for simple command-line argument parsing";
|
||||
homepage = "https://github.com/nk412/optparse";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ ShamrockLee ];
|
||||
};
|
||||
}
|
||||
@@ -2,13 +2,17 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "portmidi";
|
||||
version = "217";
|
||||
version = "234";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/portmedia/portmidi-src-${version}.zip";
|
||||
sha256 = "03rfsk7z6rdahq2ihy5k13qjzgx757f75yqka88v3gc0pn9ais88";
|
||||
url = "mirror://sourceforge/portmedia/portmedia-code-r${version}.zip";
|
||||
sha256 = "1g7i8hgarihycadbgy2f7lifiy5cbc0mcrcazmwnmbbh1bqx6dyp";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
cd portmidi/trunk
|
||||
'';
|
||||
|
||||
cmakeFlags = let
|
||||
#base = "${jdk}/jre/lib/${jdk.architecture}";
|
||||
in [
|
||||
@@ -58,7 +62,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
|
||||
ln -s libportmidi.${ext} "$out/lib/libporttime.${ext}"
|
||||
ln -s libportmidi${ext} "$out/lib/libporttime${ext}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ unzip cmake ];
|
||||
|
||||
@@ -12,17 +12,17 @@ index 4919b78..758eccb 100644
|
||||
|
||||
if(UNIX)
|
||||
diff --git a/pm_common/CMakeLists.txt b/pm_common/CMakeLists.txt
|
||||
index e171047..aafa09c 100644
|
||||
index cbeeade..f765430 100644
|
||||
--- a/pm_common/CMakeLists.txt
|
||||
+++ b/pm_common/CMakeLists.txt
|
||||
@@ -22,7 +22,7 @@ else(APPLE OR WIN32)
|
||||
endif(APPLE OR WIN32)
|
||||
|
||||
if(APPLE)
|
||||
- set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk CACHE
|
||||
- set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk CACHE
|
||||
+ set(CMAKE_OSX_SYSROOT / CACHE
|
||||
PATH "-isysroot parameter for compiler" FORCE)
|
||||
set(CMAKE_C_FLAGS "-mmacosx-version-min=10.5" CACHE
|
||||
PATH "-isysroot parameter for compiler")
|
||||
set(CMAKE_C_FLAGS "-mmacosx-version-min=10.6" CACHE
|
||||
STRING "needed in conjunction with CMAKE_OSX_SYSROOT" FORCE)
|
||||
@@ -54,10 +54,6 @@ if(UNIX)
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spglib";
|
||||
version = "1.16.1";
|
||||
version = "1.16.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "atztogo";
|
||||
repo = "spglib";
|
||||
rev = "v${version}";
|
||||
sha256 = "1sk59nnar9npka4mdcfh4154ja46i35y4gbq892kwqidzyfs80in";
|
||||
sha256 = "1sbrk26xyvlhqxxv9cq2ycxwbiafgmh7lf221377zpqq8q3iavd7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioambient";
|
||||
version = "1.2.5";
|
||||
version = "1.2.6";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
@@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1v8xr69y9cajyrdfz8wdksz1hclh5cvgxppf9lpygwfj4q70wh88";
|
||||
sha256 = "sha256-EppnuZP62YTFI3UJUzBUj2m5TvFh1WiDz9smHY7We60=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bleach";
|
||||
version = "3.3.0";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-mLMXBznl6D3Z3BljPwdHJ62EjL7bYCZwjIrC07aXpDM=";
|
||||
sha256 = "1yma53plrlw2llaqxv8yk0g5al0vvlywwzym18b78m3rm6jq6r1h";
|
||||
};
|
||||
|
||||
checkInputs = [ pytest pytest-runner ];
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "eventlet";
|
||||
version = "0.31.0";
|
||||
version = "0.31.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "b36ec2ecc003de87fc87b93197d77fea528aa0f9204a34fdf3b2f8d0f01e017b";
|
||||
sha256 = "0xldgwjf9jkp28rn0pg0i32bg6m7pdh7dwgi0grcvqzs0iii5sdr";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ dnspython greenlet monotonic six ]
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fastapi";
|
||||
version = "0.67.0";
|
||||
version = "0.68.0";
|
||||
format = "flit";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tiangolo";
|
||||
repo = "fastapi";
|
||||
rev = version;
|
||||
sha256 = "15zbalyib7ndcbxvf9prj0n9n6qb4bfzhmaacsjrvdmjzmqdjgw0";
|
||||
sha256 = "00cjkc90h0qlca30g981zvwlxh2wc3rfipw25v667jdl9x5gxv9p";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hass-nabucasa";
|
||||
version = "0.45.1";
|
||||
version = "0.46.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nabucasa";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-ZDPlYoLAQLXiV+LUMdu/8v3TrG5/Zz4+r4PtThrLAas=";
|
||||
sha256 = "109ma1qlhifj5hs530zfnvc6mqv5grfmcq3s57wawq9nzq0gpfy8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, autopep8
|
||||
, nose
|
||||
, pycodestyle
|
||||
, twine
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -18,10 +15,11 @@ buildPythonPackage rec {
|
||||
sha256 = "idF5JQGnAye6z3c3YU9rsHaebB3rlHJfA8vSpjDnFeM=";
|
||||
};
|
||||
|
||||
checkInputs = [ autopep8 nose pycodestyle twine ];
|
||||
checkInputs = [ nose ];
|
||||
checkPhase = ''
|
||||
nosetests tests/
|
||||
'';
|
||||
pythonImportsCheck = [ "opensimplex" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenSimplex Noise functions for 2D, 3D and 4D";
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "plugwise";
|
||||
version = "0.11.2";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "python-plugwise";
|
||||
rev = version;
|
||||
sha256 = "sha256-ywVCa6PfyQ1SiejE2IYkf/IpQM0iDXJPpCm0vDtlrw8=";
|
||||
sha256 = "sha256-fZ0mhsM7LroJgIyBO4eRzZaz2OQxa4Hhj1rNufHXvHI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pybotvac";
|
||||
version = "0.0.21";
|
||||
version = "0.0.22";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1hf692w44dmalv7hlcpwzbnr6xhvnmdv5nl1jcy2jhiwp89lkhzv";
|
||||
sha256 = "sha256-hl8UmoVUbbHCSpCWdUTxoIlop5di+rUmGUQI9UWq3ik=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pylutron";
|
||||
version = "0.2.8";
|
||||
version = "0.2.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Jg2waoIxvBvX+hoAgt/yoM87XdShCHQOZXbsHG3b4cw=";
|
||||
sha256 = "sha256-xy5XPNOrvdPZMCfa2MYA+xtUcFdGSurW5QYL6H7n2VI=";
|
||||
};
|
||||
|
||||
# Project has no tests
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
{ lib
|
||||
{ stdenv
|
||||
, lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, python
|
||||
, cffi
|
||||
, pytestCheckHook
|
||||
, ApplicationServices
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -17,6 +19,9 @@ buildPythonPackage rec {
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cffi ];
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
ApplicationServices
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
${python.interpreter} setup.py build_ext --inplace
|
||||
@@ -26,11 +31,13 @@ buildPythonPackage rec {
|
||||
pytestFlagsArray = [
|
||||
"pymunk/tests"
|
||||
];
|
||||
pythonImportsCheck = [ "pymunk" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "2d physics library";
|
||||
homepage = "https://www.pymunk.org";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ angustrau ];
|
||||
platforms = platforms.linux ++ [ "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
, mupdf
|
||||
, swig
|
||||
, freetype
|
||||
@@ -26,10 +25,7 @@ buildPythonPackage rec {
|
||||
patches = [
|
||||
# Add NIX environment support.
|
||||
# Should be removed next pyMuPDF release.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/pymupdf/PyMuPDF/commit/d9b2d42019e5705a1c6621ea0cdfa26da1ce9ad5.patch";
|
||||
sha256 = "fc3f6ad88c8f3933ed9ab9d4db9ebec8bc30ed5113f6ca9d72080b56dfa52ad6";
|
||||
})
|
||||
./nix-support.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -36,10 +36,14 @@ LIBRARIES = {
|
||||
"opensuse": OPENSUSE,
|
||||
"fedora": FEDORA,
|
||||
"alpine": ALPINE,
|
||||
+ "nix": FEDORA,
|
||||
}
|
||||
|
||||
|
||||
def load_libraries():
|
||||
+ if os.getenv("NIX_STORE"):
|
||||
+ return LIBRARIES["nix"]
|
||||
+
|
||||
try:
|
||||
import distro
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, aiohttp
|
||||
, aresponses
|
||||
, asynctest
|
||||
, backoff
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
@@ -13,19 +14,22 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyopenuv";
|
||||
version = "2.0.2";
|
||||
version = "2.1.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-QVgNwu/NXSV9nbRN0POBCdKCv6xdp4uSEzFAiHkhVaQ=";
|
||||
sha256 = "sha256-S2X7cTArjiWOFjQGnrZ4AuhgN8t18wf9d6i9X5thRZg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [ aiohttp ];
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
backoff
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
aresponses
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-gitlab";
|
||||
version = "2.9.0";
|
||||
version = "2.10.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-LFGxTN2aaAKDFaKw6IUl03YJZziPmfqlfeiQK0VGW+Y=";
|
||||
sha256 = "sha256-N2s+mCOBzsc0RxxQKz2ixueFio300DyZNJnmp1k5UOY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyuseragents";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Animenosekai";
|
||||
repo = "useragents";
|
||||
rev = "v${version}";
|
||||
sha256 = "D7Qs3vsfkRH2FDkbfakrR+FfWzQFiOCQM7q9AdJavyU=";
|
||||
};
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
pytestFlagsArray = [ "test.py" ];
|
||||
pythonImportsCheck = [ "pyuseragents" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Giving you a random User-Agent Header";
|
||||
homepage = "https://github.com/Animenosekai/useragents";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ angustrau ];
|
||||
};
|
||||
}
|
||||
@@ -14,11 +14,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pywebpush";
|
||||
version = "1.13.0";
|
||||
version = "1.14.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "97ef000a685cd1f63d9d3553568508508904bfe419485df2b83b025d94e9ae54";
|
||||
sha256 = "sha256-bDbhZ5JoIZ5pO6lA2yvyVMJAygJmTeECtyaa/DxUVzE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -36,6 +36,8 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pywebpush" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Webpush Data encryption library for Python";
|
||||
homepage = "https://github.com/web-push-libs/pywebpush";
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "requests-cache";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
disabled = pythonOlder "3.6";
|
||||
format = "pyproject";
|
||||
|
||||
@@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "reclosedev";
|
||||
repo = "requests-cache";
|
||||
rev = "v${version}";
|
||||
sha256 = "055dfyjm8dqwr62v86lyvq4r04692gmvlgp86218vwvzgm7p3p2c";
|
||||
sha256 = "sha256-QGh/ThI5bKE65luVHDSsr6RQq5RReugdZrVvR1R0pUU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, requests
|
||||
, beautifulsoup4
|
||||
, pyuseragents
|
||||
, inquirer
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "translatepy";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Animenosekai";
|
||||
repo = "translate";
|
||||
rev = "v${version}";
|
||||
sha256 = "Rt6FvB4kZVaB/jxxqOHsnkReTFCCyiEaZf240n0zVZs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
beautifulsoup4
|
||||
pyuseragents
|
||||
inquirer
|
||||
];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
disabledTestPaths = [
|
||||
# Requires network connection
|
||||
"tests/test_translators.py"
|
||||
];
|
||||
pythonImportsCheck = [ "translatepy" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A module grouping multiple translation APIs";
|
||||
homepage = "https://github.com/Animenosekai/translate";
|
||||
license = with licenses; [ agpl3Only ];
|
||||
maintainers = with maintainers; [ angustrau ];
|
||||
};
|
||||
}
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "transmission-rpc";
|
||||
version = "3.2.5";
|
||||
version = "3.2.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "59598c9aa338703951686420fea292d9ba2d83d2a81361f16b64c2603c4ebb45";
|
||||
sha256 = "1k4yyrbdqxp43zsmcg37a99x4s2kwsm7yyajf810y2wx61nq49d1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -3,28 +3,34 @@
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
, pysocks
|
||||
, python-socks
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "websocket-client";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-to5JWdcEdo+iDjXJ1QjI3Cu8BB/Y0mfA1zRc/+KCRWg=";
|
||||
sha256 = "sha256-dmW6bGRZibKLYWcIdKt1PmkpF56fyQVlrOasCQ9ZxVk=";
|
||||
};
|
||||
|
||||
checkInputs = [ pytestCheckHook pysocks ];
|
||||
propagatedBuildInputs = [
|
||||
python-socks
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "websocket" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Websocket client for Python";
|
||||
homepage = "https://github.com/websocket-client/websocket-client";
|
||||
changelog = "https://github.com/websocket-client/websocket-client/blob/v${version}/ChangeLog";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
changelog = "https://github.com/websocket-client/websocket-client/blob/v${version}/ChangeLog";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "yeelight";
|
||||
version = "0.6.3";
|
||||
version = "0.7.2";
|
||||
disabled = pythonOlder "3.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "stavros";
|
||||
repo = "python-yeelight";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-71ncPGcqTRSldWVhJ2uZ2AEgkv1KO2i6UtAUTcJcru8=";
|
||||
sha256 = "06pg5q50dw5a0h6jnln8419asi8nahzvlk0s65ymykqq0jxac31y";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "yfinance";
|
||||
version = "0.1.61";
|
||||
version = "0.1.63";
|
||||
|
||||
# GitHub source releases aren't tagged
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-+tc0rwweGFaBkrl7LBHdsff98PuupqovKh4nRP3hRJ0=";
|
||||
sha256 = "0k1saz0wknxv31vpqcfyi35mzi68c75hlqpw8lf83xqw9zllydhi";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "codeql";
|
||||
version = "2.5.8";
|
||||
version = "2.5.9";
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
|
||||
sha256 = "sha256-XfxzvzGiSBhPVIvdtDifKjkcGK2afWXVWul3Pah3tKo=";
|
||||
sha256 = "sha256-r3Jm+VYjn0Dz4BCSbADbgTWL1owbyIXlkoj6mOmZcZk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ fetchurl, lib, stdenv, pkg-config, libxml2, llvm }:
|
||||
{ fetchurl, lib, stdenv, pkg-config, libxml2, llvm, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sparse";
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libxml2 llvm ];
|
||||
buildInputs = [ libxml2 llvm perl ];
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -7,29 +7,32 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "buf";
|
||||
version = "0.46.0";
|
||||
version = "0.49.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bufbuild";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5mjk31HuPNO/RhmMhIm3dAZAED/Kk33ObjC8KbPKRxk=";
|
||||
leaveDotGit = true; # Required by TestWorkspaceGit
|
||||
sha256 = "sha256-xP2UbcHwimN09IXrGp3zhBLL74l/8YKotqBNRTITF18=";
|
||||
};
|
||||
vendorSha256 = "sha256-K8UZDEhAvD292RCEDKfY9PdZGS389vLF3oukcBndUF4=";
|
||||
vendorSha256 = "sha256-WgQSLe99CbOwJC8ewDcSq6PcBJdmiPRmvAonq8drQ1w=";
|
||||
|
||||
patches = [
|
||||
# Skip a test that requires networking to be available to work.
|
||||
./skip_test_requiring_network.patch
|
||||
# Skip TestWorkspaceGit which requires .git and commits.
|
||||
./skip_test_requiring_dotgit.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ protobuf ];
|
||||
# Required for TestGitCloner
|
||||
checkInputs = [ git ];
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
preCheck = ''
|
||||
export PATH=$PATH:$GOPATH/bin
|
||||
# The tests need access to some of the built utilities
|
||||
export PATH="$PATH:$GOPATH/bin"
|
||||
# To skip TestCloneBranchAndRefToBucket
|
||||
export CI=true
|
||||
'';
|
||||
@@ -38,24 +41,32 @@ buildGoModule rec {
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
dir="$GOPATH/bin"
|
||||
# Only install required binaries, don't install testing binaries
|
||||
for file in \
|
||||
for FILE in \
|
||||
"buf" \
|
||||
"protoc-gen-buf-breaking" \
|
||||
"protoc-gen-buf-lint" \
|
||||
"protoc-gen-buf-check-breaking" \
|
||||
"protoc-gen-buf-check-lint"; do
|
||||
cp "$dir/$file" "$out/bin/"
|
||||
cp "$GOPATH/bin/$FILE" "$out/bin/"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
$out/bin/buf --help
|
||||
$out/bin/buf --version 2>&1 | grep "${version}"
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
|
||||
homepage = "https://buf.build";
|
||||
changelog = "https://github.com/bufbuild/buf/releases/tag/v${version}";
|
||||
description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ raboof ];
|
||||
maintainers = with maintainers; [ raboof jk ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/internal/buf/cmd/buf/workspace_test.go b/internal/buf/cmd/buf/workspace_test.go
|
||||
index e051690..8887837 100644
|
||||
--- a/internal/buf/cmd/buf/workspace_test.go
|
||||
+++ b/internal/buf/cmd/buf/workspace_test.go
|
||||
@@ -335,6 +335,9 @@ func TestWorkspaceNestedArchive(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestWorkspaceGit(t *testing.T) {
|
||||
+ // Requires .git directory which we do not retain due to
|
||||
+ // `leaveDotGit` non-determinism
|
||||
+ t.Skip()
|
||||
// Directory paths specified as a git reference within a workspace.
|
||||
t.Parallel()
|
||||
testRunStdout(
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "conftest";
|
||||
version = "0.26.0";
|
||||
version = "0.27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-policy-agent";
|
||||
repo = "conftest";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-AIFZhe0N6FT06IrDVF2OVfSwmQVg62ZglOcnnDL9TK8=";
|
||||
sha256 = "sha256-Yc/aejGLMbAqpIRTVQQ3lv7/oyr7tVAy41Gx6198Eos=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-7wj1n5ggYYrmMrDuQkbbJ2C1S1LHawkkj91owHDIwr0=";
|
||||
vendorSha256 = "sha256-jI5bX6S2C0ckiiieVlaRNEsLS/5gGkC3o/xauDtCOjA=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "doctl";
|
||||
version = "1.62.0";
|
||||
version = "1.63.1";
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
@@ -31,7 +31,7 @@ buildGoModule rec {
|
||||
owner = "digitalocean";
|
||||
repo = "doctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5YqGNuC1mmsIsEtnbgumaLuZGy3k6L9jZNbVwZln8WY=";
|
||||
sha256 = "sha256-SSjTrCR5H+3nIKHKEfrQX917HjgpViS6H1RwmRe4coI=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{ lib, stdenvNoCC, fetchurl, makeWrapper, copyDesktopItems, makeDesktopItem, unzip, imagemagick, jre }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "mars-mips";
|
||||
version = "4.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://courses.missouristate.edu/KenVollmar/MARS/MARS_${lib.replaceStrings ["."] ["_"] version}_Aug2014/Mars${lib.replaceStrings ["."] ["_"] version}.jar";
|
||||
sha256 = "15kh1fahkkbbf4wvb6ijzny4fi5dh4pycxyzp5325dm2ddkhnd5c";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper copyDesktopItems unzip imagemagick ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
desktopName = "MARS";
|
||||
exec = "mars-mips";
|
||||
icon = "mars-mips";
|
||||
comment = "An IDE for programming in MIPS assembly language";
|
||||
categories = "Development;IDE;";
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
export JAR=$out/share/java/${pname}/${pname}.jar
|
||||
install -D $src $JAR
|
||||
makeWrapper ${jre}/bin/java $out/bin/${pname} \
|
||||
--add-flags "-jar $JAR"
|
||||
|
||||
unzip ${src} images/MarsThumbnail.gif
|
||||
mkdir -p $out/share/pixmaps
|
||||
convert images/MarsThumbnail.gif $out/share/pixmaps/mars-mips.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An IDE for programming in MIPS assembly language intended for educational-level use";
|
||||
homepage = "https://courses.missouristate.edu/KenVollmar/MARS/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ angustrau ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -26,6 +26,7 @@ let
|
||||
CatalystPluginAccessLog
|
||||
CatalystPluginAuthorizationRoles
|
||||
CatalystPluginCaptcha
|
||||
CatalystPluginPrometheusTiny
|
||||
CatalystPluginSessionStateCookie
|
||||
CatalystPluginSessionStoreFastMmap
|
||||
CatalystPluginSmartURI
|
||||
@@ -59,6 +60,7 @@ let
|
||||
NetPrometheus
|
||||
NetStatsd
|
||||
PadWalker
|
||||
PrometheusTinyShared
|
||||
Readonly
|
||||
SQLSplitStatement
|
||||
SetScalar
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
{
|
||||
hydra-unstable = callPackage ./common.nix {
|
||||
version = "2021-05-03";
|
||||
version = "2021-08-11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "hydra";
|
||||
rev = "886e6f85e45a1f757e9b77d2a9e4539fbde29468";
|
||||
sha256 = "t7Qb57Xjc0Ou+VDGC1N5u9AmeODW6MVOwKSrYRJq5f0=";
|
||||
rev = "9bce425c3304173548d8e822029644bb51d35263";
|
||||
sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
|
||||
};
|
||||
nix = nixUnstable;
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pscale";
|
||||
version = "0.60.0";
|
||||
version = "0.63.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "planetscale";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-hrWSieWeVAg28f3Fh9mElr+mDh4v4T5JI1c3+Hrm7c0=";
|
||||
sha256 = "sha256-LYVR8vcMS6ErYH4sGRi1JT9E4ElYe5mloc3C1TudzSE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-h4YUQWmFYouEvHup8Pu6OqfHf1EoPszVFzklU9SbJZQ=";
|
||||
vendorSha256 = "sha256-3LuzdvwLYSL7HaGbKDfrqBz2FV2yr6YUdI5kXXiIvbU=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.planetscale.com/";
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "deno";
|
||||
version = "1.12.2";
|
||||
version = "1.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "denoland";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xIFJv/roTD7sq7vCy4JDwe8gYDMuZd34vyjS08xeijI=";
|
||||
sha256 = "sha256-iSL9YAcYdeZ9E5diAJG1oHzujPmfblOvheewOu9QIu8=";
|
||||
};
|
||||
cargoSha256 = "sha256-aETAFh5yTE+ZonDC0ITdaZ2YN3/SpYROsXP47aNEICE=";
|
||||
cargoSha256 = "sha256-1aibJwZ3o3bU5PWPVPBsRpjGo4JgOsNAgnPVAk1ZQHE=";
|
||||
|
||||
# Install completions post-install
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -11,11 +11,11 @@ let
|
||||
};
|
||||
in
|
||||
fetch_librusty_v8 {
|
||||
version = "0.25.3";
|
||||
version = "0.26.0";
|
||||
shas = {
|
||||
x86_64-linux = "sha256-Z3lEJT3QVhP8PoDiM6Fw0sm5rXWvasBqASBO5tZA5zM=";
|
||||
aarch64-linux = "sha256-pbcd1zV7IIEqCIp8vsRiO0KBGrOv52SvMZ4gthxuN/I=";
|
||||
x86_64-darwin = "sha256-BwYdgd1kK8EQFfDc9RgtNvwvx7agt9hYNVmBGwHoqz0=";
|
||||
aarch64-darwin = "sha256-/RHeNuR7VjhfwdjZXWMMX3UnweAjJblSCUq9eIwGvWc=";
|
||||
x86_64-linux = "sha256-eYvfsgkLuV//4NmnxTNgB5vGoQ2JdSpXwF34d1kNxBw=";
|
||||
aarch64-linux = "sha256-t+0/bJI4q2XElYz398aig/widJEOAascOmv4qnnKMQY=";
|
||||
x86_64-darwin = "sha256-lYJcx5Oe/nuF3l5coH4WIMbBbiFMwxNWlIYojrdiJfI=";
|
||||
aarch64-darwin = "sha256-5blisZ4Z/f68fZg7aDr5WK4MNvL5IRZZSJrvFb9N5oY=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "flyctl";
|
||||
version = "0.0.229";
|
||||
version = "0.0.230";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "superfly";
|
||||
repo = "flyctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mw+rTMFj41+T6lDe/MOQpmRcjt/gJhOCfaHcBkpjcsg=";
|
||||
sha256 = "sha256-TI6pBtpUfI1vPsi+tq7FduFaZv9CvkAooqFmHCGslzI=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
@@ -17,7 +17,7 @@ buildGoModule rec {
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorSha256 = "sha256-NnHnSfm3XYiwgGn56GsthFKiflJvhYhjoxmm8ogm+Uc=";
|
||||
vendorSha256 = "sha256-6t2aLSr78pEhrYI53OMQpfJqa65wQAxlz6+ksUtxzmI=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
{ stdenv, lib, fetchurl }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "now-cli";
|
||||
version = "15.8.7";
|
||||
|
||||
# TODO: switch to building from source, if possible
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zeit/now-cli/releases/download/${version}/now-linux.gz";
|
||||
sha256 = "1x6nsn9qmsy4hk7l2dsyabc7fxkwwwl1y1852vs4dgxi8w1hax93";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
gunzip -c $curSrc > now-linux
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
mkdir $out/bin
|
||||
cp now-linux $out/bin/now
|
||||
'';
|
||||
|
||||
# now is a node program packaged using zeit/pkg.
|
||||
# thus, it contains hardcoded offsets.
|
||||
# patchelf shifts these locations when it expands headers.
|
||||
|
||||
# this could probably be generalised into allowing any program packaged
|
||||
# with zeit/pkg to be run on nixos.
|
||||
|
||||
preFixup = let
|
||||
libPath = lib.makeLibraryPath [stdenv.cc.cc];
|
||||
in ''
|
||||
|
||||
orig_size=$(stat --printf=%s $out/bin/now)
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/now
|
||||
patchelf --set-rpath ${libPath} $out/bin/now
|
||||
chmod +x $out/bin/now
|
||||
|
||||
new_size=$(stat --printf=%s $out/bin/now)
|
||||
|
||||
###### zeit-pkg fixing starts here.
|
||||
# we're replacing plaintext js code that looks like
|
||||
# PAYLOAD_POSITION = '1234 ' | 0
|
||||
# [...]
|
||||
# PRELUDE_POSITION = '1234 ' | 0
|
||||
# ^-----20-chars-----^^------22-chars------^
|
||||
# ^-- grep points here
|
||||
#
|
||||
# var_* are as described above
|
||||
# shift_by seems to be safe so long as all patchelf adjustments occur
|
||||
# before any locations pointed to by hardcoded offsets
|
||||
|
||||
var_skip=20
|
||||
var_select=22
|
||||
shift_by=$(expr $new_size - $orig_size)
|
||||
|
||||
function fix_offset {
|
||||
# $1 = name of variable to adjust
|
||||
location=$(grep -obUam1 "$1" $out/bin/now | cut -d: -f1)
|
||||
location=$(expr $location + $var_skip)
|
||||
|
||||
value=$(dd if=$out/bin/now iflag=count_bytes,skip_bytes skip=$location \
|
||||
bs=1 count=$var_select status=none)
|
||||
value=$(expr $shift_by + $value)
|
||||
|
||||
echo -n $value | dd of=$out/bin/now bs=1 seek=$location conv=notrunc
|
||||
}
|
||||
|
||||
fix_offset PAYLOAD_POSITION
|
||||
fix_offset PRELUDE_POSITION
|
||||
|
||||
'';
|
||||
dontStrip = true;
|
||||
|
||||
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://zeit.co/now";
|
||||
description = "The Command Line Interface for Now - Global Serverless Deployments";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bhall ];
|
||||
};
|
||||
}
|
||||
@@ -2,20 +2,31 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "antsimulator";
|
||||
version = "1.2";
|
||||
version = "3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnBuffer";
|
||||
repo = "AntSimulator";
|
||||
rev = "v${version}";
|
||||
sha256 = "0wz80971rf86kb7mcnxwrq75vriwhmyir5s5n3wzml12rzfnj5f1";
|
||||
sha256 = "sha256-1KWoGbdjF8VI4th/ZjAzASgsLEuS3xiwObulzxQAppA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ sfml ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/main.cpp \
|
||||
--replace "res/" "$out/opt/antsimulator/"
|
||||
|
||||
substituteInPlace include/simulation/config.hpp \
|
||||
--replace "res/" "$out/opt/antsimulator/"
|
||||
|
||||
substituteInPlace include/render/colony_renderer.hpp \
|
||||
--replace "res/" "$out/opt/antsimulator/"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install -Dm644 -t $out/opt/antsimulator res/*
|
||||
install -Dm755 ./AntSimulator $out/bin/antsimulator
|
||||
'';
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
{ lib, fetchFromSourcehut, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "brutalmaze";
|
||||
version = "1.1.1";
|
||||
format = "flit";
|
||||
disabled = python3Packages.pythonOlder "3.7";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~cnx";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1m105iq378mypj64syw59aldbm6bj4ma4ynhc50gafl656fabg4y";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
loca
|
||||
palace
|
||||
pygame
|
||||
];
|
||||
|
||||
doCheck = false; # there's no test
|
||||
|
||||
meta = with lib; {
|
||||
description = "Minimalist thrilling shoot 'em up game";
|
||||
homepage = "https://brutalmaze.rtfd.io";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = [ maintainers.McSinyx ];
|
||||
};
|
||||
}
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "crispy-doom";
|
||||
version = "5.10.1";
|
||||
version = "5.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fabiangreffrath";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-5doytVxemqaXWXiqDSQUEAe71xmY0pOLASj/NJNyM5g=";
|
||||
sha256 = "sha256-NUBodIojvlw46yLZ9Bn2pCpBwyVW8noOHQMM4uGmO3U=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user