diff --git a/lib/licenses.nix b/lib/licenses.nix index 4792f1cb5925..57939308c3a3 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -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; diff --git a/lib/options.nix b/lib/options.nix index 87cd8b797969..204c86df9f51 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -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. diff --git a/pkgs/applications/accessibility/svkbd/default.nix b/pkgs/applications/accessibility/svkbd/default.nix index 57e6cdba5ae8..eb9ddb091693 100644 --- a/pkgs/applications/accessibility/svkbd/default.nix +++ b/pkgs/applications/accessibility/svkbd/default.nix @@ -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; diff --git a/pkgs/applications/audio/cyanrip/default.nix b/pkgs/applications/audio/cyanrip/default.nix new file mode 100644 index 000000000000..3338fe40bf17 --- /dev/null +++ b/pkgs/applications/audio/cyanrip/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix index 0b6a57492c5c..000fc06bbf1b 100644 --- a/pkgs/applications/misc/zathura/core/default.nix +++ b/pkgs/applications/misc/zathura/core/default.nix @@ -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" ]; diff --git a/pkgs/applications/office/foliate/default.nix b/pkgs/applications/office/foliate/default.nix index 8226e8e38cce..bcd42b361b93 100644 --- a/pkgs/applications/office/foliate/default.nix +++ b/pkgs/applications/office/foliate/default.nix @@ -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 diff --git a/pkgs/applications/version-management/git-and-tools/glab/default.nix b/pkgs/applications/version-management/git-and-tools/glab/default.nix index 84a6417aed86..c06c70e26789 100644 --- a/pkgs/applications/version-management/git-and-tools/glab/default.nix +++ b/pkgs/applications/version-management/git-and-tools/glab/default.nix @@ -2,20 +2,26 @@ buildGoModule rec { pname = "glab"; - version = "1.19.0"; + version = "1.20.0"; src = fetchFromGitHub { owner = "profclems"; repo = pname; rev = "v${version}"; - sha256 = "sha256-bg0uLivvLYnDS8h13RkmU8gSEa8q2yxUWN9TN19qjxQ="; + sha256 = "sha256-MHNhl6lrBqHZ6M4fVOnSDxEcF6RqfWHWx5cvUhRXJKw="; }; 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" ]; diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix index 6e47f96253e2..1f15e87c739e 100644 --- a/pkgs/applications/video/ccextractor/default.nix +++ b/pkgs/applications/video/ccextractor/default.nix @@ -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"; diff --git a/pkgs/desktops/gnome/extensions/extensionRenames.nix b/pkgs/desktops/gnome/extensions/extensionRenames.nix index 9df97998891f..674720b4eeb2 100644 --- a/pkgs/desktops/gnome/extensions/extensionRenames.nix +++ b/pkgs/desktops/gnome/extensions/extensionRenames.nix @@ -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"; # ############################################################################ diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix index c48e2a84336a..faba5d97b79d 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix index 65b024e8cc32..89b47df405fe 100644 --- a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix @@ -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" diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix index a3366468b75b..5f2cf9fd3fbd 100644 --- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix index eb3446342b4a..9557f9d2d808 100644 --- a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix index dce7cde3713e..9f937ed140fd 100644 --- a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix index d97333bc503a..7ee0943a8886 100644 --- a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix b/pkgs/development/compilers/llvm/7/compiler-rt/default.nix index 87ebc3eff025..f6190b799189 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix index a3ce09cba976..bbaae803738d 100644 --- a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/9/compiler-rt/default.nix b/pkgs/development/compilers/llvm/9/compiler-rt/default.nix index a3db5c0ad68d..4dc75bd1c14c 100644 --- a/pkgs/development/compilers/llvm/9/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/9/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix index eb3446342b4a..9557f9d2d808 100644 --- a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix index 8d75a1b11ee5..16678c9f04e6 100644 --- a/pkgs/development/python-modules/aioambient/default.nix +++ b/pkgs/development/python-modules/aioambient/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/pyuseragents/default.nix b/pkgs/development/python-modules/pyuseragents/default.nix new file mode 100644 index 000000000000..ffa3a5302ae5 --- /dev/null +++ b/pkgs/development/python-modules/pyuseragents/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix index ce1dfc366f45..01b9d0fd099d 100644 --- a/pkgs/development/python-modules/requests-cache/default.nix +++ b/pkgs/development/python-modules/requests-cache/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/translatepy/default.nix b/pkgs/development/python-modules/translatepy/default.nix new file mode 100644 index 000000000000..8428f0b06e4c --- /dev/null +++ b/pkgs/development/python-modules/translatepy/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix index 8dac16f243ca..a4c51121cd5f 100644 --- a/pkgs/development/tools/analysis/codeql/default.nix +++ b/pkgs/development/tools/analysis/codeql/default.nix @@ -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 = [ diff --git a/pkgs/development/tools/mars-mips/default.nix b/pkgs/development/tools/mars-mips/default.nix new file mode 100644 index 000000000000..6bca1fa64eee --- /dev/null +++ b/pkgs/development/tools/mars-mips/default.nix @@ -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; + }; +} diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix index 5b1973c2b9e0..fd1896f24b81 100644 --- a/pkgs/development/tools/misc/hydra/common.nix +++ b/pkgs/development/tools/misc/hydra/common.nix @@ -26,6 +26,7 @@ let CatalystPluginAccessLog CatalystPluginAuthorizationRoles CatalystPluginCaptcha + CatalystPluginPrometheusTiny CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginSmartURI @@ -59,6 +60,7 @@ let NetPrometheus NetStatsd PadWalker + PrometheusTinyShared Readonly SQLSplitStatement SetScalar diff --git a/pkgs/games/brutalmaze/default.nix b/pkgs/games/brutalmaze/default.nix new file mode 100644 index 000000000000..d9c904d99a3b --- /dev/null +++ b/pkgs/games/brutalmaze/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 24e23f2b7e97..4f3c3a79f5b0 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -91,7 +91,7 @@ let self = stdenv.mkDerivation rec { pname = "fwupd"; - version = "1.5.7"; + version = "1.5.12"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -100,7 +100,7 @@ let src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "16isrrv6zhdgccbfnz7km5g1cnvfnip7aiidkfhf5dlnrnyb2sxh"; + sha256 = "sha256-BluwLlm6s/2H/USARQpAvDR0+X8WP/q0h8VvxA6Qftc="; }; patches = [ @@ -296,7 +296,6 @@ let "fwupd/thunderbolt.conf" "fwupd/upower.conf" "fwupd/uefi_capsule.conf" - "pki/fwupd/GPG-KEY-Hughski-Limited" "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware" "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" "pki/fwupd/LVFS-CA.pem" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48bb80acdd1e..ebcd77714422 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7033,6 +7033,8 @@ with pkgs; marktext = callPackage ../applications/misc/marktext { }; + mars-mips = callPackage ../development/tools/mars-mips { }; + mawk = callPackage ../tools/text/mawk { }; mb2md = callPackage ../tools/text/mb2md { }; @@ -9558,6 +9560,8 @@ with pkgs; translate-shell = callPackage ../applications/misc/translate-shell { }; + translatepy = with python3.pkgs; toPythonApplication translatepy; + trash-cli = callPackage ../tools/misc/trash-cli { }; trebleshot = libsForQt5.callPackage ../applications/networking/trebleshot { }; @@ -23598,6 +23602,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Carbon; }; + cyanrip = callPackage ../applications/audio/cyanrip { }; + centerim = callPackage ../applications/networking/instant-messengers/centerim { }; cgit = callPackage ../applications/version-management/git-and-tools/cgit { @@ -29066,6 +29072,8 @@ with pkgs; brogue = callPackage ../games/brogue { }; + brutalmaze = callPackage ../games/brutalmaze { }; + bsdgames = callPackage ../games/bsdgames { }; btanks = callPackage ../games/btanks { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 93e7acff553d..fb2f2db19d81 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2150,6 +2150,21 @@ let }; }; + CatalystPluginPrometheusTiny = buildPerlPackage { + pname = "Catalyst-Plugin-PrometheusTiny"; + version = "0.006"; + src = fetchurl { + url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.006.tar.gz"; + sha256 = "1hd2nv21c2mq3yvhsys4a276bdwr5igs4b73m99v7ymzpabvjf9b"; + }; + buildInputs = [ HTTPMessage Plack SubOverride TestDeep ]; + propagatedBuildInputs = [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ]; + meta = { + description = "Prometheus metrics for Catalyst"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + CatalystPluginSession = buildPerlPackage { pname = "Catalyst-Plugin-Session"; version = "0.41"; @@ -4932,6 +4947,20 @@ let }; }; + DataRandom = buildPerlPackage { + pname = "Data-Random"; + version = "0.13"; + src = fetchurl { + url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz"; + sha256 = "eb590184a8db28a7e49eab09e25f8650c33f1f668b6a472829de74a53256bfc0"; + }; + buildInputs = [ FileShareDirInstall TestMockTime ]; + meta = { + description = "Perl module to generate random data"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + DataSection = buildPerlPackage { pname = "Data-Section"; version = "0.200007"; @@ -9416,6 +9445,20 @@ let }; }; + HashSharedMem = buildPerlModule { + pname = "Hash-SharedMem"; + version = "0.005"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz"; + sha256 = "324776808602f7bdc44adaa937895365454029a926fa611f321c9bf6b940bb5e"; + }; + buildInputs = [ ScalarString ]; + meta = { + description = "Efficient shared mutable hash"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + HashUtilFieldHashCompat = buildPerlPackage { pname = "Hash-Util-FieldHash-Compat"; version = "0.11"; @@ -17433,6 +17476,37 @@ let propagatedBuildInputs = [ IPCSignal ]; }; + PrometheusTiny = buildPerlPackage { + pname = "Prometheus-Tiny"; + version = "0.008"; + src = fetchurl { + url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-0.008.tar.gz"; + sha256 = "17d7b69chkcq8fprww6m15glndyb0lms2l0xjbnbw04q7f8ncskk"; + }; + buildInputs = [ HTTPMessage Plack TestException ]; + meta = { + homepage = "https://github.com/robn/Prometheus-Tiny"; + description = "A tiny Prometheus client"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + + PrometheusTinyShared = buildPerlPackage { + pname = "Prometheus-Tiny-Shared"; + version = "0.024"; + src = fetchurl { + url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.024.tar.gz"; + sha256 = "02w24r4amk8dqlavg6abxap48hzxrbda48f1pmrqypgx1cz59g4g"; + }; + buildInputs = [ DataRandom HTTPMessage Plack TestDifferences TestException ]; + propagatedBuildInputs = [ HashSharedMem JSONXS PrometheusTiny ]; + meta = { + homepage = "https://github.com/robn/Prometheus-Tiny-Shared"; + description = "A tiny Prometheus client with a shared database behind it"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + ProtocolRedis = buildPerlPackage { pname = "Protocol-Redis"; version = "1.0011"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5c5c71396ec0..abd21cf5c92d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7338,6 +7338,8 @@ in { inherit (pkgs) libusb1; }; + pyuseragents = callPackage ../development/python-modules/pyuseragents { }; + pyutilib = callPackage ../development/python-modules/pyutilib { }; pyuv = callPackage ../development/python-modules/pyuv { }; @@ -8848,6 +8850,8 @@ in { transitions = callPackage ../development/python-modules/transitions { }; + translatepy = callPackage ../development/python-modules/translatepy { }; + translationstring = callPackage ../development/python-modules/translationstring { }; transmission-rpc = callPackage ../development/python-modules/transmission-rpc { };