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

gsignond: init at 1.0.7 #43133

Merged
merged 7 commits into from Oct 26, 2018
Merged

gsignond: init at 1.0.7 #43133

merged 7 commits into from Oct 26, 2018

Conversation

worldofpeace
Copy link
Contributor

Motivation for this change

Needed this for elementary packaging.

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.

@worldofpeace
Copy link
Contributor Author

It seems there's also some plugins that I also need that want to be installed at like gsignond/gplugins/libsasl.so
Here is https://gitlab.com/accounts-sso/gsignond-plugin-sasl


postPatch = ''
substituteInPlace meson.build \
--replace "sysconf_dir = '/etc'" "sysconf_dir = 'etc/'"
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this will not work, since the path is used in the code to find the configuration (GSIGNOND_SYSCONF_DIR). You need to patch just this line. Also patch files are better than seding, since it makes sure the replacement still works.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thought as much and @samueldr did to.

maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.linux;
};
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing trailing newline.

'';

meta = with stdenv.lib; {
description = "a D-Bus service which performs user authentication on behalf of it's clients";
Copy link
Contributor

Choose a reason for hiding this comment

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

probably can drop the initial a, it's → its


mesonFlags = [
# Building documentation does not work in sandboxed environments
"-D documentation=false"
Copy link
Contributor

Choose a reason for hiding this comment

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

should not have the space.

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually, gtk-doc docbook_xsl docbook_xml_dtd_43 docbook_xml_dtd_45 should be enough to build the documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah I see, I'll add them.

Copy link
Contributor

Choose a reason for hiding this comment

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

You will also need to add glibcLocales to nativeBuildInputs and LC_ALL = "en_US.UTF-8"; to the attribute to prevent weird encoding error during docs build.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hah I just saw that errors and was going to do exactly that.

meta = with stdenv.lib; {
description = "a D-Bus service which performs user authentication on behalf of it's clients";
homepage = https://gitlab.com/accounts-sso/gsignond;
license = licenses.lgpl2;
Copy link
Contributor

Choose a reason for hiding this comment

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

sha256 = "03a9d92hldav18bhx63kgi88li8fnm56337bjsr7391awq1k9mv7";
};

nativeBuildInputs = [ pkgconfig meson ninja gobjectIntrospection vala_0_34 ];
Copy link
Contributor

Choose a reason for hiding this comment

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

Just vala works for me.

version = "1.0.7";

name = "${pname}-${version}";

This comment was marked as resolved.

@@ -0,0 +1,37 @@
{ stdenv, fetchFromGitLab, pkgconfig, meson, ninja, glib, glib-networking, sqlite, gobjectIntrospection, vala }:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jtojnar This builds with just regular vala.

@worldofpeace worldofpeace force-pushed the gsignond branch 3 times, most recently from 630ab93 to 5787c7f Compare July 7, 2018 12:10
@worldofpeace worldofpeace changed the title gsignond: init at 1.0.7 WIP: gsignond: init at 1.0.7 Jul 7, 2018

configureFlags = [
"--enable-introspection=yes"
"--disable-static"
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need a static library?

pkgs/development/libraries/libgsignon-glib/default.nix Outdated Show resolved Hide resolved
@worldofpeace worldofpeace force-pushed the gsignond branch 2 times, most recently from c12b504 to 529ddfd Compare July 7, 2018 12:58
@worldofpeace worldofpeace force-pushed the gsignond branch 4 times, most recently from 249c058 to 2d2cc15 Compare July 7, 2018 13:56
@worldofpeace worldofpeace changed the title WIP: gsignond: init at 1.0.7 gsignond: init at 1.0.7 Jul 7, 2018
libtool
pkgconfig
vala
python
Copy link
Contributor

Choose a reason for hiding this comment

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

You should use either python3 and python3.pkgs, or python3Packages.python and python3Packages. In the worst case, those two variants can point to a different packages.

Copy link
Contributor

Choose a reason for hiding this comment

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

Also no need to use with construct for just a single package.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah no with.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm using python3Packages.python and the same for python3Packages.pygobject3 already.


LC_ALL = "en_US.UTF-8";

# Don't treat trivial warnings as errors resulting in build failure
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you also add a link to upstream issue?

preConfigure = "NOCONFIGURE=1 ./autogen.sh";

configureFlags = [
"--enable-introspection=yes"
Copy link
Contributor

Choose a reason for hiding this comment

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

No need for yes.

python
];

buildInputs = with python3Packages; [
Copy link
Contributor Author

Choose a reason for hiding this comment

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

no with here either I suppose

@xeji
Copy link
Contributor

xeji commented Aug 1, 2018

@GrahamcOfBorg build gsignond libgsignon-glib

@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: gsignond, libgsignon-glib

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.


@jtojnar
Copy link
Contributor

jtojnar commented Aug 1, 2018

@xeji I believe this is still WIP, the components do not work together.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: gsignond, libgsignon-glib

Partial log (click to expand)

strip is /nix/store/zrs21zqcchgyabjf4xfimncdq16njizc-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/gfj4rbcxlh1ymwf1gwq6gjnqvd7jz0js-libgsignon-glib-2.4.1-devdoc
checking for references to /build in /nix/store/gfj4rbcxlh1ymwf1gwq6gjnqvd7jz0js-libgsignon-glib-2.4.1-devdoc...
shrinking RPATHs of ELF executables and libraries in /nix/store/k1g7i38flmjh9kpwkl2xjmambvr2bw1l-libgsignon-glib-2.4.1-py
strip is /nix/store/zrs21zqcchgyabjf4xfimncdq16njizc-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/k1g7i38flmjh9kpwkl2xjmambvr2bw1l-libgsignon-glib-2.4.1-py/lib
patching script interpreter paths in /nix/store/k1g7i38flmjh9kpwkl2xjmambvr2bw1l-libgsignon-glib-2.4.1-py
checking for references to /build in /nix/store/k1g7i38flmjh9kpwkl2xjmambvr2bw1l-libgsignon-glib-2.4.1-py...
/nix/store/6n082wbhayzj06w38n7v99vwrzwi53xn-gsignond-1.0.7
/nix/store/mmg2zj5c6qdpjlmw89zshp6a3qlz16qy-libgsignon-glib-2.4.1

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gsignond, libgsignon-glib

Partial log (click to expand)

strip is /nix/store/1hi76hr87bd1y1q1qjk0lv8nmcjip1c8-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/48npf5vnk3zjxkwjakzga1m4dvz85bj8-libgsignon-glib-2.4.1-devdoc
checking for references to /build in /nix/store/48npf5vnk3zjxkwjakzga1m4dvz85bj8-libgsignon-glib-2.4.1-devdoc...
shrinking RPATHs of ELF executables and libraries in /nix/store/6n9dq672fzkipkvnni8rgj49ihzjr5b2-libgsignon-glib-2.4.1-py
strip is /nix/store/1hi76hr87bd1y1q1qjk0lv8nmcjip1c8-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/6n9dq672fzkipkvnni8rgj49ihzjr5b2-libgsignon-glib-2.4.1-py/lib
patching script interpreter paths in /nix/store/6n9dq672fzkipkvnni8rgj49ihzjr5b2-libgsignon-glib-2.4.1-py
checking for references to /build in /nix/store/6n9dq672fzkipkvnni8rgj49ihzjr5b2-libgsignon-glib-2.4.1-py...
/nix/store/0b5520k3f2hpj6396db6m93wrxf4si57-gsignond-1.0.7
/nix/store/pnzzwsv10f433mp1ccmkn6ky2m0ykjsl-libgsignon-glib-2.4.1

@xeji
Copy link
Contributor

xeji commented Aug 1, 2018

ok, let's wait until @worldofpeace says it's ready.

@worldofpeace
Copy link
Contributor Author

This was far off in the corner of my head. Also this concerns me. So this might get stale until I package the plugins and Make it work ™

@jtojnar
Copy link
Contributor

jtojnar commented Oct 15, 2018

gsignond can be wrapped with these plugins.

I'm using it like this

I am talking about libgsignon-glib, that one seems to be abandoned in favour of libsingon-glib, see the pull requests linked in the elementary issue.

@worldofpeace
Copy link
Contributor Author

Lol, these names are just confusing. It's used for nothing so I'll remove it.

@worldofpeace worldofpeace force-pushed the gsignond branch 2 times, most recently from 7e69322 to e7e1ead Compare October 16, 2018 13:18
@worldofpeace
Copy link
Contributor Author

@jtojnar
Went ahead and removed signond because it didn't make sense to add it here.

Btw they don't need the sasl plugin but I'm adding it because they're expanding this feature.
So they might need it in the future just not right now. (I think)

@worldofpeace worldofpeace force-pushed the gsignond branch 2 times, most recently from 9cd55b2 to 1380a5c Compare October 24, 2018 12:56
@worldofpeace
Copy link
Contributor Author

@GrahamcOfBorg build gsignond gsignondPlugins.sasl gsignondPlugins.oauth gsignondPlugins.lastfm gsignondPlugins.mail libsignon-glib

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: gsignond, gsignondPlugins.sasl, gsignondPlugins.oauth, gsignondPlugins.lastfm, gsignondPlugins.mail, libsignon-glib

Partial log (click to expand)

strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/yykwkg85504ph12l7y5qvvy2z5c1xqsj-gsignond-plugin-oauth-2018-10-15/lib
patching script interpreter paths in /nix/store/yykwkg85504ph12l7y5qvvy2z5c1xqsj-gsignond-plugin-oauth-2018-10-15
checking for references to /build in /nix/store/yykwkg85504ph12l7y5qvvy2z5c1xqsj-gsignond-plugin-oauth-2018-10-15...
/nix/store/ss1afjzkqi8m32j61hk6kfsvwpi243ji-gsignond-2018-10-04
/nix/store/iwqnhgyy2pzx2fvm6xvsrrp5d67rdlaj-gsignond-plugin-sasl-2018-10-15
/nix/store/yykwkg85504ph12l7y5qvvy2z5c1xqsj-gsignond-plugin-oauth-2018-10-15
/nix/store/m7jv5d4slx6gcpg2zzqavhiipbij51qa-gsignond-plugin-lastfm-2018-05-07
/nix/store/x4vnra1blj52f0jipg1iycn8glfkhfzl-gsignond-plugin-mail-2018-10-04
/nix/store/sdashpzi5cv1vyk89lq0n4skq1rb4pns-libsignon-glib-2018-10-24

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gsignond, gsignondPlugins.sasl, gsignondPlugins.oauth, gsignondPlugins.lastfm, gsignondPlugins.mail, libsignon-glib

Partial log (click to expand)

strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/qdjj493s7irx5wpd585nmzz9k9z4k94a-gsignond-plugin-sasl-2018-10-15/lib
patching script interpreter paths in /nix/store/qdjj493s7irx5wpd585nmzz9k9z4k94a-gsignond-plugin-sasl-2018-10-15
checking for references to /build in /nix/store/qdjj493s7irx5wpd585nmzz9k9z4k94a-gsignond-plugin-sasl-2018-10-15...
/nix/store/jncbq5kpaj8qz7k5aill8byll7yk9936-gsignond-2018-10-04
/nix/store/qdjj493s7irx5wpd585nmzz9k9z4k94a-gsignond-plugin-sasl-2018-10-15
/nix/store/y6ja4xd31z5gljjsbqwq1g39w3jdxcv6-gsignond-plugin-oauth-2018-10-15
/nix/store/a7jsignmf240pfcpiwqr598glk7mdbn8-gsignond-plugin-lastfm-2018-05-07
/nix/store/if2kzwvky6i1kxf8lgf85p0db5wlsyaz-gsignond-plugin-mail-2018-10-04
/nix/store/r9935znx25zxv7pg8y60p2a8hq7pg1hd-libsignon-glib-2018-10-24

@worldofpeace
Copy link
Contributor Author

@jtojnar

I think this is ready enough I guess 😄

All patches that I could upstream have been merged.

@worldofpeace
Copy link
Contributor Author

Can this be merged as a precursor to #48637?
It would lighten testing.

@jtojnar jtojnar merged commit 8221883 into NixOS:master Oct 26, 2018
@jtojnar
Copy link
Contributor

jtojnar commented Oct 26, 2018

Thanks for all the work.

@worldofpeace
Copy link
Contributor Author

No problem.

@worldofpeace worldofpeace deleted the gsignond branch October 26, 2018 17:31
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

4 participants