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

atk: clean up #32626

Merged
merged 19 commits into from Dec 29, 2017
Merged

atk: clean up #32626

merged 19 commits into from Dec 29, 2017

Conversation

jtojnar
Copy link
Contributor

@jtojnar jtojnar commented Dec 13, 2017

Motivation for this change

Closes: #32296

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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/)
  • Fits CONTRIBUTING.md.

@jtojnar
Copy link
Contributor Author

jtojnar commented Dec 13, 2017

Mikutter fails to build:

Build log
WARNING:  You build with buildroot.
  Build root: /
  Bin dir: /nix/store/84mhf8b2qfmqlvq2ahj9acjpjmr9mkkj-ruby2.3.5-gio2-3.1.9/lib/ruby/gems/2.3.0/bin
  Gem home: /nix/store/84mhf8b2qfmqlvq2ahj9acjpjmr9mkkj-ruby2.3.5-gio2-3.1.9/lib/ruby/gems/2.3.0
Building native extensions.  This could take a while...
WARNING:  You build with buildroot.
  Build root: /
  Bin dir: /nix/store/rlbz8x089s4yrgfrfw60nxwcnb7g33sd-ruby2.3.5-pango-3.1.9/lib/ruby/gems/2.3.0/bin
  Gem home: /nix/store/rlbz8x089s4yrgfrfw60nxwcnb7g33sd-ruby2.3.5-pango-3.1.9/lib/ruby/gems/2.3.0
Building native extensions.  This could take a while...
ERROR:  Error installing /nix/store/h3zk0ldid1acka8wd5abxxa3ppi24pys-gio2-3.1.9.gem:
	ERROR: Failed to build gem native extension.

    current directory: /nix/store/84mhf8b2qfmqlvq2ahj9acjpjmr9mkkj-ruby2.3.5-gio2-3.1.9/lib/ruby/gems/2.3.0/gems/gio2-3.1.9/ext/gio2
/nix/store/fh53an3sv5ra1kb9vp10fy01xjjfx00l-ruby-2.3.5/bin/ruby -r ./siteconf20171213-1104-1hqvzbo.rb extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Waggregate-return option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... yes
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... yes
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
checking for -Wpointer-arith option to compiler... yes
checking for -Wswitch-default option to compiler... yes
checking for -Wswitch-enum option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... no
checking for -Wunsafe-loop-optimizations option to compiler... yes
checking for -Wwrite-strings option to compiler... yes
checking for Windows... no
checking for gio-2.0... yes
checking for gobject-introspection-1.0... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/nix/store/fh53an3sv5ra1kb9vp10fy01xjjfx00l-ruby-2.3.5/bin/$(RUBY_BASE_NAME)
	--enable-debug-build
	--disable-debug-build
	--with-pkg-config
	--without-pkg-config
	--with-override-variables
	--without-override-variables

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /nix/store/84mhf8b2qfmqlvq2ahj9acjpjmr9mkkj-ruby2.3.5-gio2-3.1.9/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0/gio2-3.1.9/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /nix/store/84mhf8b2qfmqlvq2ahj9acjpjmr9mkkj-ruby2.3.5-gio2-3.1.9/lib/ruby/gems/2.3.0/gems/gio2-3.1.9 for inspection.
Results logged to /nix/store/84mhf8b2qfmqlvq2ahj9acjpjmr9mkkj-ruby2.3.5-gio2-3.1.9/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0/gio2-3.1.9/gem_make.out
builder for ‘/nix/store/633imb0w5kc82ls5rvrvvnbz6fwnzpsl-ruby2.3.5-gio2-3.1.9.drv’ failed with exit code 1

Adding gobjectIntrospection to buildInputs is not enough.

@jtojnar
Copy link
Contributor Author

jtojnar commented Dec 13, 2017

For some reason, totem fails to build on hydra, even though it builds fine on my computer.

https://hydra.nixos.org/build/65987618

Edit: Nevermind, just #32271.

@jtojnar
Copy link
Contributor Author

jtojnar commented Dec 14, 2017

cc @midchildan for mikutter faiilure https://hydra.nixos.org/build/65972646

@midchildan
Copy link
Member

@jtojnar I'm going to check, but it might take a few days.

@jtojnar
Copy link
Contributor Author

jtojnar commented Dec 17, 2017

Okay, managed to fix mikutter in 39038901f8cefe47de9714c0e6a4b8c8c01a10ed.

Copy link
Contributor

@orivej orivej left a comment

Choose a reason for hiding this comment

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

Are all cases of gobjectIntrospection # For setup hook for its _multioutMoveGlibGir and not for make_gobject_introspection_find_gir_files? What do you think about enabling it by default?

defaultNativeBuildInputs = extraNativeBuildInputs ++
[ ../../build-support/setup-hooks/move-docs.sh
../../build-support/setup-hooks/compress-man-pages.sh
../../build-support/setup-hooks/strip.sh
../../build-support/setup-hooks/patch-shebangs.sh
]
# FIXME this on Darwin; see
# https://github.com/NixOS/nixpkgs/commit/94d164dd7#commitcomment-22030369
++ lib.optional hostPlatform.isLinux ../../build-support/setup-hooks/audit-tmpdir.sh
++ [
../../build-support/setup-hooks/multiple-outputs.sh
../../build-support/setup-hooks/move-sbin.sh
../../build-support/setup-hooks/move-lib64.sh
../../build-support/setup-hooks/set-source-date-epoch-to-latest.sh
cc
];

@orivej
Copy link
Contributor

orivej commented Dec 18, 2017

What do you think about enabling it by default?

Here:

# Move development-only stuff to the desired outputs.
_multioutDevs() {
if [ "$outputs" = "out" ] || [ -z "${moveToDev-1}" ]; then return; fi;
moveToOutput include "${!outputInclude}"
# these files are sometimes provided even without using the corresponding tool
moveToOutput lib/pkgconfig "${!outputDev}"
moveToOutput share/pkgconfig "${!outputDev}"
moveToOutput lib/cmake "${!outputDev}"
moveToOutput share/aclocal "${!outputDev}"
# don't move *.la, as libtool needs them in the directory of the library

@jtojnar
Copy link
Contributor Author

jtojnar commented Dec 18, 2017

They are actually for make_gobject_introspection_find_gir_files.

@grahamc
Copy link
Member

grahamc commented Dec 22, 2017

@GrahamcOfBorg eval

@vcunat vcunat merged commit 21b09d7 into NixOS:staging Dec 29, 2017
vcunat added a commit that referenced this pull request Dec 29, 2017
@jtojnar jtojnar deleted the atk-cleanup branch January 1, 2018 04:25
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

6 participants