Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nextcloud-client: 2.3.3 -> 2.5.0 #50463

Merged
merged 1 commit into from Nov 23, 2018
Merged

Conversation

Ma27
Copy link
Member

@Ma27 Ma27 commented Nov 16, 2018

Motivation for this change

Updates to the latest version of the desktop client available. Tested
the config migration from nextcloud-client 2.3.3 with a Nextcloud
14.0.3 instance (hosted using services.nextcloud).

Additionally the derivation required the following changes:

  • Dropped Qt5Sql patch: this has been fixed upstream and isn't needed
    anymore (furthermore their CMake structure has changed and the patch
    wouldn't apply anymore on 2.5.0).

  • Moved to a new upstream repository (nextcloud/desktop), kept
    fetchgit to properly fetch submodules.

  • Added OpenSSL 1.1 integration: libsync (the syncing provided by this
    package) requires 1.1, furthermore the linking flags had to be fixed
    manually by passing NIX_LDFLAGS to the derivation.

Furthermore I moved the support for a Gnome3 keyring into its own
wrapper to avoid a full rebuild of the package whenever you alter
withGnomeKeyring in an override expressions.

It's still possible to enable keyring (now without recompile) like this:

nextcloud-client.override { withGnomeKeyring = true; }

To override the derivation itself you now have to use
nextcloud-client-unwrapped:

nextcloud-client-unwrapped.overrideAttrs (old: {
   src = yoursrc;
})
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: nextcloud-client

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: nextcloud-client

Partial log (click to expand)

shrinking /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0/lib64/libnextcloudsync.so.2.5.0
shrinking /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0/lib64/nextcloud/libocsync.so.2.5.0
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0/lib64  /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0/bin
patching script interpreter paths in /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0
checking for references to /build in /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0...
moving /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0/lib64/* to /nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0/lib
postPatchMkspecs
postPatchMkspecs
/nix/store/cka57yjvms4likqh6jbcy6jfw61nfvvp-nextcloud-client-2.5.0

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: nextcloud-client

Partial log (click to expand)

shrinking /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0/bin/nextcloudcmd
shrinking /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0/bin/nextcloud
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0/lib64  /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0/bin
patching script interpreter paths in /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0
checking for references to /build in /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0...
moving /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0/lib64/* to /nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0/lib
postPatchMkspecs
postPatchMkspecs
/nix/store/zcrkg2ian4i58z5xja5vq8awx74g9sgl-nextcloud-client-2.5.0

if (!withGnomeKeyring) then nextcloud-client else symlinkJoin {
name = "${nextcloud-client.name}-with-gnome-keyring";
paths = [ nextcloud-client ];
nativeBuildInputs= [ makeWrapper ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
nativeBuildInputs= [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];

Updates to the latest version of the desktop client available. Tested
the config migration from `nextcloud-client` 2.3.3 with a Nextcloud
14.0.3 instance (hosted using `services.nextcloud`).

Additionally the derivation required the following changes:

* Dropped `Qt5Sql` patch: this has been fixed upstream and isn't needed
  anymore (furthermore their CMake structure has changed and the patch
  wouldn't apply anymore on 2.5.0).

* Moved to a new upstream repository (nextcloud/desktop), kept
  `fetchgit` to properly fetch submodules.

* Added OpenSSL 1.1 integration: `libsync` (the syncing provided by this
  package) requires 1.1, furthermore the linking flags had to be fixed
  manually by passing `NIX_LDFLAGS` to the derivation.

Furthermore I moved the support for a Gnome3 keyring into its own
wrapper to avoid a full rebuild of the package whenever you alter
`withGnomeKeyring` in an override expressions.

It's still possible to enable keyring (now without recompile) like this:

```
nextcloud-client.override { withGnomeKeyring = true; }
```

To override the derivation itself you now have to use
`nextcloud-client-unwrapped`:

```
nextcloud-client-unwrapped.overrideAttrs (old: {
   src = yoursrc;
})
```
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: nextcloud-client

Partial log (click to expand)

shrinking /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/lib64/nextcloud/libocsync.so.2.5.0
shrinking /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/bin/nextcloud
shrinking /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/bin/nextcloudcmd
strip is /nix/store/rpbg8gmqxhz8g61p1plz5d2srs84pvmv-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/lib64  /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/bin
patching script interpreter paths in /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0
checking for references to /build in /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0...
moving /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/lib64/* to /nix/store/i6gv7la1iqiwf7mp0y6bwwz086hzxy50-nextcloud-client-2.5.0/lib
postPatchMkspecs
postPatchMkspecs

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: nextcloud-client

Partial log (click to expand)

make[3]: *** [Makefile.gn_run:336: run_ninja] Error 1
make[3]: Leaving directory '/build/qtwebengine-everywhere-src-5.11.1/src/core'
make[2]: *** [Makefile:80: sub-gn_run-pro-make_first] Error 2
make[2]: Leaving directory '/build/qtwebengine-everywhere-src-5.11.1/src/core'
make[1]: *** [Makefile:79: sub-core-make_first] Error 2
make[1]: Leaving directory '/build/qtwebengine-everywhere-src-5.11.1/src'
make: *** [Makefile:47: sub-src-make_first] Error 2
builder for '/nix/store/lvnnhvf1s95qdmirhmgqwa2pnai71sd7-qtwebengine-5.11.1.drv' failed with exit code 2
cannot build derivation '/nix/store/d539ic5hsgm7xgchb1gvy1k5y60isr4l-nextcloud-client-2.5.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/d539ic5hsgm7xgchb1gvy1k5y60isr4l-nextcloud-client-2.5.0.drv' failed

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: nextcloud-client

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


Copy link
Contributor

@worldofpeace worldofpeace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build and executed both configurations (with and without gnome-keyring) successfully.
I also made a quick account to test and it seems to work fine.

I wasn't able to test the gnome-keyring version properly because in my current setup it is nonfunctional.

@Ma27
Copy link
Member Author

Ma27 commented Nov 22, 2018

I wasn't able to test the gnome-keyring version properly because in my current setup it is nonfunctional.

I did and it seems to work.

(I simply did services.gnome3.gnome-keyring.enable = true;)

@worldofpeace
Copy link
Contributor

I wasn't able to test the gnome-keyring version properly because in my current setup it is nonfunctional.

I did and it seems to work.

(I simply did services.gnome3.gnome-keyring.enable = true;)

In that case I'd say it's good to merge.

@worldofpeace worldofpeace merged commit e75f922 into NixOS:master Nov 23, 2018
@Ma27 Ma27 deleted the bump-nextcloud-client branch November 23, 2018 08:37
flokli pushed a commit to flokli/nixpkgs that referenced this pull request Dec 16, 2018
Updates to the latest version of the desktop client available. Tested
the config migration from `nextcloud-client` 2.3.3 with a Nextcloud
14.0.3 instance (hosted using `services.nextcloud`).

Additionally the derivation required the following changes:

* Dropped `Qt5Sql` patch: this has been fixed upstream and isn't needed
  anymore (furthermore their CMake structure has changed and the patch
  wouldn't apply anymore on 2.5.0).

* Moved to a new upstream repository (nextcloud/desktop), kept
  `fetchgit` to properly fetch submodules.

* Added OpenSSL 1.1 integration: `libsync` (the syncing provided by this
  package) requires 1.1, furthermore the linking flags had to be fixed
  manually by passing `NIX_LDFLAGS` to the derivation.

Furthermore I moved the support for a Gnome3 keyring into its own
wrapper to avoid a full rebuild of the package whenever you alter
`withGnomeKeyring` in an override expressions.

It's still possible to enable keyring (now without recompile) like this:

```
nextcloud-client.override { withGnomeKeyring = true; }
```

To override the derivation itself you now have to use
`nextcloud-client-unwrapped`:

```
nextcloud-client-unwrapped.overrideAttrs (old: {
   src = yoursrc;
})
```

(cherry picked from commit e75f922)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants