Commit Graph

18 Commits

Author SHA1 Message Date
Wolfgang Walther
ddc0aac24a nextcloud: remove useless callPackage 2025-06-18 15:57:21 +02:00
Fernando Rodrigues
05580f4b44 treewide: switch instances of lib.teams.*.members to the new meta.teams attribute
Follow-up to #394797.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-04-25 22:20:17 -03:00
Maximilian Bosch
a22e1f1087 Merge: nextcloud30Packages: restore .override { apps = ...; } support (#389371) 2025-04-02 09:35:30 +02:00
Maximilian Bosch
d3110c9532 nextcloud: update maintainer information
* Create a dedicated team. Before, information was inconsistent between
  e.g. tests and package, module had none at all.
* Add maintainership from us to all trivially packaged apps. This is
  only to make sure that we take care of them building and installing
  and that's about it.
2025-03-25 12:41:18 +00:00
Someone
1e70da0cde nextcloud30Packages: restore .override { apps = ...; } support
Users may wish to extend or replace the JSON manifest used by nextcloudXXPackages without maintaining a Nixpkgs fork. Keeping the `apps` argument makes it possible
2025-03-12 22:10:27 +00:00
Maximilian Bosch
b8eb9480dc nextcloud-notify_push.app: move out of automatically generated set
`pkgs.nextcloud-notify_push` and the app
(`nextcloudPackages.apps.notify_push`) must always have the same
version. However, the latter is updated automatically. Most recently
this happened in #374902.

With this change, the app isn't updated automatically anymore, but is
part of the server-side package (and uses the same version).
2025-02-06 18:08:15 +01:00
Beardhatcode
0479e6ee96 nextcloudXXPackages.apps.recognize: suport nextcloud 29 and 28 2024-12-09 13:52:56 +01:00
Beardhatcode
bf14b9fdba nextcloud: refactor path out of all-packages 2024-11-23 21:23:51 +01:00
Jonas Heinrich
94db46ecad nextcloudPackages.hmr_enabler: init at 0+unstable-2024-08-24 2024-09-05 11:48:48 +02:00
Robert Schütz
da8b0f0621 fetchNextcloudApp: use fetchurl by default 2024-08-05 03:53:38 -07:00
Robert Schütz
2c1d58e90c nextcloudPackages: update
We no longer use fetchzip because nc4nix no longer unpacks the tarball
before computing the hash.
2024-08-01 04:13:25 -07:00
Robert Schütz
b8a80e15e5 Revert "nextcloudPackages: Revamp package generation script"
This reverts commit 4349a61a71.
2024-08-01 03:49:12 -07:00
Pyrox
4349a61a71 nextcloudPackages: Revamp package generation script 2024-07-13 18:32:19 -04:00
Robert Schütz
06b0cb2248 Revert "nc4nix: 0-unstable-2024-03-01 -> 0-unstable-2024-05-24; nextcloudPackages: update" 2024-07-13 13:39:53 -07:00
Pyrox
4b97f227b9 nc4nix: 0-unstable-2024-03-01 -> 0-unstable-2024-05-24
Updates mainly to include a commit that generates SRI hashes instead of
sha256 hashes for extensions.
2024-07-12 01:03:53 -04:00
Maximilian Bosch
c317dcec0d nextcloud*Packages: expose proper license information
This change makes sure that each Nextcloud plugin installed provides a
`meta` section with proper license information.

Unfortunately, the metadata from the appstore is useless for this
purpose since it doesn't differentiate between e.g. AGPL 3.x and AGPL
3.x or any later version. In fact, this isn't consistent between their
software, e.g. `bookmarks` has `agpl3Plus` according to the files'
headers[1] whereas `twofactor_nextcloud_notification` is AGPL 3 only[2].

I don't think there's any trivial and reasonable way to retrieve this
information programatically, so I decided to change the format of
`nextcloud-apps.json`[3] to also contain the license in the form of the
license attribute we have in `lib/licenses.nix`, i.e. GNU AGPL 3 or
later is `agpl3Plus`.

I retrieved the information using the following approach:

* go to the source code of $app at the revision we currently have
  packaged
* check for a license identifier (does it specify the license only or
  the license "or any later version")?
  * first in `src/main.js` because most apps from Nextcloud itself used
    actual spdx identifiers in the frontend's source-code.
  * then in `lib/AppInfo/Application.php` which each Nextcloud app has.

License changes should be updated accordingly when updating the apps. As
with any other package in nixpkgs as well, this currently needs to be
done manually (or as part of the review process)[4].

Also, I decided to change the `name` of the `applyPatches` derivation
from `source-patched` to `nextcloud-app-${appName}-${appVersion}`. When
deploying a lot of apps (and probably displaying the diff using
`nix store diff-closures` on deploy), the current output isn't very
helpful. This is purely optional because I didn't want to break the
interface of `fetchNextcloudApp` again.

[1] https://github.com/nextcloud/bookmarks/blob/v13.1.0/lib/AppInfo/Application.php#L6
[2] https://github.com/nextcloud/twofactor_nextcloud_notification/blob/v3.7.0/lib/AppInfo/Application.php
[3] This isn't really well-defined since it's preprocessed with `jq(1)`
    before passing the apps to nc4nix.
[4] Though notable license changes (e.g. agpl -> gpl) would also pop up
    in the diff of <nextcloudversion>.json, so this is pretty easy to
    catch.
2023-08-20 13:39:44 +02:00
Raito Bezarius
c74490e000 nextcloud*Packages: add description, homepage, licenses from JSON
This ensures this data is replicated in the meta attribute.
2023-08-20 11:49:15 +02:00
Jonas Heinrich
aec2518c5b nextcloudPackages: init 2022-11-15 07:17:35 -05:00