The build expression got quiet large over time and to make it a bit
easier to grasp the different scripts involved in the build are now
separated from the nix file.
While building the tests LD gets called with -mmacosx-version-min=10.10
which is a CC flag, causing the build to fail with LD=ld. This is
pretty common with perl packages.
/cc ZHF #45961
See https://hydra.nixos.org/build/80828287
Moves `mahotas` out of `python-packages.nix` into its own file and fixes
broken test cases by skipping them using nosetest's `@nottest`
annotation.
These tests broke from time to time in a sandbox and are therefore
considered impure.
Addresses #45960
The examples fail with an opengl related issue:
Undefined symbols for architecture x86_64:
"SimpleOpenGL3App::SimpleOpenGL3App(char const*, int, int, bool)", referenced from:
_main in main_opengl_single_example.o
"_useShadowMap", referenced from:
GL_ShapeDrawer::drawScene(btDiscreteDynamicsWorld const*, bool, int) in GL_ShapeDrawer.o
ld: symbol(s) not found for architecture x86_64
And the tests need an extra dependencly, possibley related to
https://github.com/bulletphysics/bullet3/issues/819
ld: library not found for -lBussIK
/cc ZHF #45961
Create the top-level packages attribute
'hylafaxplus' that builds HylaFAX+ .
Note:
The nobody uid and the nogroup gid
are hardcoded in the package.
The package build recipe file
contains options to modify these ids.
See https://hydra.nixos.org/build/80998335.
Upstream doesn't support QT 5.11 ATM which broke compilation:
```
src/dialogs/savedialog.cpp: In constructor ‘SaveDialog::SaveDialog(QWidget*, Qt::WindowFlags)’:
src/dialogs/savedialog.cpp:37:34: error: invalid use of incomplete type ‘class QButtonGroup’
group = new QButtonGroup(this);
```
The Arch community recommends to use an older QT version to fix
this (https://aur.archlinux.org/packages/chessx/).
Furthermore the `QT_PLUGIN_PATH` wasn't set properly which broke the
runtime since QT coudln't find the `xcb` plugin:
```
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized.
Reinstalling the application may fix this problem.
```
Finally, some minor style fixes were made for consistent indentation.
Addresses #45960
- our version is from 2015
- it doesn't build
- upstream project is dead, last release 2012, last commit Oct 2016.
- used by only 1 nixpkgs package: `boo`, marked broken since 2016.
Fixes the build for `python3Packages.trio' for the next ZHF iteration.
Please refer to the Hydra build for further reference: https://hydra.nixos.org/build/80617356
`python3Packages.sniffio` is needed for the build, otherwise the build
aborts with an error like this:
```
Could not find a version that satisfies the requirement sniffio (from trio==0.6.0) (from versions: )
No matching distribution found for sniffio (from trio==0.6.0)
```
See #45960
This aims to make the `weechat` package even more configurable. It
allows to specify scripts and commands using the `configure` function
inside a `weechat.override` expression.
The package can be configured like this:
```
with import <nixpkgs> { };
weechat.override {
plugins = { availablePlugins, ... }: {
plugins = builtins.attrValues availablePlugins;
init = ''
/set foo bar
/server add freenode chat.freenode.org
'';
scripts = [ "/path/to/script.py" ];
};
}
```
All commands are passed to `weechat --run-command "/set foo bar;/server ..."`.
The `plugins' attribute is not necessarily required anymore, if it's
sufficient to add `init' commands, the `plugins' will be
`builtins.attrValues availablePlugins' by default.
Additionally the result contains `weechat` and `weechat-headless`
(introduced in WeeChat 2.1) now.
Intuitively, one cares mainly about the host platform: Platforms differ
in meaningful ways but compilation is morally a pure process and
probably doesn't care, or those difference are already abstracted away.
@Dezgeg also empirically confirmed that > 95% of checks are indeed of
the host platform.
Yet these attributes in the old cross infrastructure were defined to be
the build platform, for expediency. And this was never before changed.
(For native builds build and host coincide, so it isn't clear what the
intention was.)
Fixing this doesn't affect native builds, since again they coincide. It
also doesn't affect cross builds of anything in Nixpkgs, as these are no
longer used. It could affect external cross builds, but I deem that
unlikely as anyone thinking about cross would use more explicit
attributes for clarity, all the more so because the rarity of inspecting
the build platform.
Introduce a `skawarePackages.buildPackage` function that contains the
common setup, removing a lot of duplication.
In particular, we require that the build directory has to be empty
after the `fixupPhase`, to make sure every relevant file is moved to
the outputs.
A next step would be to deduplicate the `configureFlags` attributes
and only require a `skawareInputs` field.
The github repository was downloaded instead of the pypi repository
for testing (needed `conftest.py`). Major work was done on the
underlying dependencies to make distributed work on python 2.7,
3+. Note that the test **do** take a significant amount of time (10-15
minutes).
- moved to `python-modules`
- compatible with 2.7, 3+
- all tests pass (previously tests were not run)
I don't know when we can/should remove them, but this at least gets
people to stop using them. The preferred alternatives also date back to
17.09 so writing forward-compatable code without extra conditions is
easy.
Beginning with these as they are the least controversial.
* libreoffice-still: -> 6.0.6.2
* (newer than our current 'fresh!')
* libreoffice-fresh: -> 6.1.0.3
* 6.1.1(.1) is currently pre-release, FWIW
* Use normal gcc, not gcc5
* dropping 'glibc' from buildInputs fixed this (?)
* remove many fixes/touchups/workarounds/hacks
* hopefully everything still works for everyone
* disable online update since that seems unlikely to work anyway
* fix autogen/configure invocations
* disable libnumbertext in 6.1.x since not packaged
* drop 'touch solenv/inc/target.mk' as unclear what it was for
and doesn't seem to be currently needed
* cleanup link gen a bit[1]
* split checks to check phase
[1]
primary motivation was to stop creating links like:
'libreoffice-6.0.5.2/src/-libxslt-1.1.32.tar.gz' -> '/nix/store/503v5hmhm430bld0h078gacmkniwdllr-libxslt-1.1.32.tar.gz'
'libreoffice-6.0.5.2/src/libxslt-1.1.32.tar.gz' -> '/nix/store/503v5hmhm430bld0h078gacmkniwdllr-libxslt-1.1.32.tar.gz'
This is mostly accomplished by simply using the 'md5name' field
which the python script kindly generates for us
(including the use of non-md5 if md5 is not set or empty).