about summary refs log tree commit diff
path: root/pkgs/servers/foundationdb
AgeCommit message (Collapse)AuthorFilesLines
2022-10-10treewide: optional -> optionals where the argument is a listArtturin2-3/+3
the argument to optional should not be list
2022-04-26Merge master into staging-nextgithub-actions[bot]1-2/+2
2022-04-25treewide: Simplify negated uses of versionAtLeast, versionOlderAnders Kaseorg1-2/+2
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-04-16treewide: remove nativeBuildInputs that are in stdenvBen Siraphob1-2/+2
2022-02-07foundationdb61: pin Boost dep to boost168 (#157967)Will Young2-2/+3
2021-07-18treewide: convert phases that contain ":" to dont* = true (#130500)Sandro1-1/+1
2021-03-25foundationdb: use python2 and python3Frederik Rietdijk1-1/+1
2021-03-25foundationdb vsmake: stay with python2Frederik Rietdijk1-2/+2
CMake builds already use python3. Stay with python2, just to be safe.
2021-03-05Merge pull request #114176 from omasanori/fix-foundationdb61Sandro2-2/+27
foundationdb61: 6.1.12 -> 6.1.13, fix build
2021-02-24foundationdb60: fix buildMasanori Ogino2-0/+138
- Add missing #include, mainly <cmath> - Add missing 'std::' - Remove prototype conflicting with the libc's definition Signed-off-by: Masanori Ogino <167209+omasanori@users.noreply.github.com>
2021-02-24foundationdb61: 6.1.12 -> 6.1.13, fix buildMasanori Ogino2-2/+27
Signed-off-by: Masanori Ogino <167209+omasanori@users.noreply.github.com>
2021-01-25treewide: remove stdenv where not neededPavol Rusnak1-1/+1
2021-01-24treewide: stdenv.lib -> libPavol Rusnak1-1/+1
2021-01-11treewide: with stdenv.lib; in meta -> with lib;Profpatsch1-1/+1
Part of: https://github.com/NixOS/nixpkgs/issues/108938 meta = with stdenv.lib; is a widely used pattern. We want to slowly remove the `stdenv.lib` indirection and encourage people to use `lib` directly. Thus let’s start with the meta field. This used a rewriting script to mostly automatically replace all occurances of this pattern, and add the `lib` argument to the package header if it doesn’t exist yet. The script in its current form is available at https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-03treewide: remove enableParallelBuilding = true if using cmakeBen Siraphob1-2/+1
2020-10-11foundationdb: fix build: use glibc's gettid()Raphael Borun Das Gupta1-0/+13
to avoid build error due to conflicting declaration: flow/Profiler.actor.cpp: In function 'uint64_t gettid()': flow/Profiler.actor.cpp:56:17: error: ambiguating new declaration of 'uint64_t gettid()' FILE* f; ^ In file included from /nix/store/4wy9j24psf9ny4di3anjs7yk2fvfb0gq-glibc-2.31-dev/include/unistd.h:1170:0, from ./flow/Platform.h:49, from ./flow/flow.h:40, from flow/Profiler.actor.cpp:39: /nix/store/4wy9j24psf9ny4di3anjs7yk2fvfb0gq-glibc-2.31-dev/include/bits/unistd_ext.h:34:16: note: old declaration '__pid_t gettid()' extern __pid_t gettid (void) __THROW; ^~~~~~
2020-10-11foundationdb: fix "was not declared" build errorsRaphael Borun Das Gupta1-2/+10
Since glibc 2.28, `<sys/types.h>` no longer includes `<sys/sysmacros.h>`, which provides these macros, so we have to explicitly import the latter, too, to fix the following build problems: flow/Platform.cpp: In function 'void getDiskStatistics(const string&, uint64_t&, uint64_t&, uint64_t&, uint64_t&, uint64_t&, uint64_t&)': flow/Platform.cpp:626:56: error: 'gnu_dev_major' was not declared in this scope if(majorId == (unsigned int) gnu_dev_major(buf.st_dev) && minorId == (unsigned int) gnu_dev_minor(buf.st_dev)) { ^ flow/Platform.cpp:626:111: error: 'gnu_dev_minor' was not declared in this scope if(majorId == (unsigned int) gnu_dev_major(buf.st_dev) && minorId == (unsigned int) gnu_dev_minor(buf.st_dev)) { ^
2020-10-11foundationdb: refresh gcc-fixes-patchRaphael Borun Das Gupta1-8/+8
by applying it to apple/foundationdb@5.1.7 and running git diff > ${path_to_nixpkgs}/pkgs/servers/foundationdb/patches/gcc-fixes.patch again.
2020-04-10treewide: Per RFC45, remove all unquoted URLsMichael Reilly3-3/+3
2020-02-01Merge branch 'staging' into glibc230Maximilian Bosch3-9/+124
2020-01-28foundationdb5: build with gcc6Maximilian Bosch3-9/+124
2020-01-23foundationdb61: fix build w/glibc-2.30Maximilian Bosch1-0/+6
2019-11-01foundationdb: no clang, use default gccAustin Seipp2-4/+4
These options should be experimental, and I'm keeping them off for now. This also avoids any ABI concerns between libraries, too. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-11-01foundationdb61: 6.1.10 -> 6.1.12Austin Seipp1-2/+2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-08-28treewide: remove redundant recvolth4-8/+8
2019-08-15treewide: name -> pname (easy cases) (#66585)volth2-2/+2
treewide replacement of stdenv.mkDerivation rec { name = "*-${version}"; version = "*"; to pname
2019-07-01treewide: use dontConfigureworldofpeace1-1/+1
2019-06-16foundationdb61: 6.1.8 -> 6.1.10Austin Seipp1-2/+2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-06-16treewide: remove unused variables (#63177)volth1-2/+2
* treewide: remove unused variables * making ofborg happy
2019-05-27foundationdb61: 6.1.7pre4928_a990458e -> 6.1.8Austin Seipp2-5/+3
This bumps the 6.1.x branch to the official 6.1.8 release. Also fixes a minor bug in the new CMake build (an invalid parameter passed to CMake) Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-21foundationdb61: 6.1.6pre4898 -> 6.1.7pre4928Austin Seipp2-9/+10
Also includes some minor, miscellaneous cleanups to the CMake build expression. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-15foundationdb: init 6.1.6pre4898_26fbbbf, cmake buildAustin Seipp6-3/+324
This adds a new build of FoundationDB 6.1, using the new, much improved with CMake build system with fewer patches and rough edges. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-15foundationdb: refactor vsmake patch applicationAustin Seipp6-32/+39
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-15foundationdb: refactor 'vsmake' build system into its own file [NFC]Austin Seipp2-171/+182
FoundationDB is currently in the process of migrating to CMake, and it will eventually be the only build system. In preparation for this, split off the current (somewhat nasty) builder into its own file, and allow default.nix to be more declarative -- containing only the main supported versions. Similarly, a cmake.nix file will be added later. There is no functional change here (NFC), only an organizational change (file moves, no hash changes). Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-12foundationdb60: 6.0.17 -> 6.0.18Austin Seipp1-2/+2
Fixes numerous bugs in blobstore backup. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-23mono: only maintain major versions (mono4 & mono5)obadz1-2/+2
2018-12-04foundationdb: x86_64-linux onlyAustin Seipp1-1/+1
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-04foundationdb60: 6.0.15 -> 6.0.17Austin Seipp1-2/+2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-17foundationdb: set RELEASE=true for official buildsAustin Seipp1-1/+4
This ensures the proper version is reported in the server status information; otherwise it has a '-PRERELEASE' suffix. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16foundationdb60: 6.0.11pre2716 -> 6.0.15Austin Seipp1-3/+2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16foundationdb: rework python bindings, build systemAustin Seipp2-10/+52
FoundationDB uses Python at build time for some code generation. However, it also has the official python bindings inside the source code too, and the code for the Python bindings has some of it auto-generated at compile time. This made building python packages unattractive: we want to use the source code generated from the FoundationDB build, but we don't want to rebuild it. Previously we would override the 'python' input to the FoundationDB module, but this meant we would do a complete rebuild, as it was a necessary build time dependency, even though the resulting generated code itself would not change. Furthermore, FoundationDB versions < 6.0 don't properly support Python 3 *for the build system*, though the bindings supported it, so that caused build failures. But the first effect is the worst: it meant building separate python2 and python3 packages implied two complete rebuilds of a single FoundationDB version. This meant rather than 3 FDB builds, we'd do 3*N where N = the number of major Python versions we support. Finally, because we did not use pip to generate a wheel that we install with metadata recorded for the installation, the FoundationDB python package couldn't be used as an input to other setup.py-based packages: there would be no recorded metadata in the dist-info folder which would say this is the foundationdb package. This greatly limits its utility. To fix all this, we do a few things: - Apply some patches to fix the build system with Python 3.x for older FoundationDB versions. (This is nice if end-users have overridden the global Python version for some reason.) - Move python directly into nativeBuildInputs, so it is only a build time dependency. - Take the python source code from the ./bindings directory and tar it up use later after the build is done, so we get to keep the generated code. This is the new 'pythonsrc' output from the build. This code doesn't change based on whether or not the input or resulting package is using Python 2 or 3, it's totally deterministic. - The build system also patches up the python source code a little, so it can be installed directly with setup.py (it needs a little stuff that it normally expects the build system to do.) - Rework the python package to a separate file that uses buildPythonPackage directly. Because the source code is already prepared, it needs almost nothing else. Furthermore, this kills the override itself for the foundationdb package, meaning rebuilds are no longer needed. - This package is very simple and just uses foundationdb.pythonsrc as its source input. It also ensures a link to libfdb_c.so can be found by ctypes (using substituteInPlace) - python-packages.nix now just uses callPackage directly. The net effect of this is, most importantly, that python packages do not imply a full rebuild of the server source code: building python2 and python3 packages from a version of FoundationDB now does not need to override the foundationdb python input, reducing the number of needless builds. They instead just run setup.py with the given version as input. The second biggest effect is that wheel metadata is recorded correctly, meaning dependent-python-packages that want to use the FoundationDB bindings e.g. from PyPi should now work fine with buildPythonPackage. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16foundationdb: include fdb.options in .dev for binding generatorsAustin Seipp1-0/+1
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-17foundationdb60: 6.0.4pre2497_73d64cb2 -> 6.0.11pre2716_9e8c1941eAustin Seipp1-3/+3
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-08-04foundationdb: install python bindingsAustin Seipp1-3/+14
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-08-04foundationdb60: 6.0.3pre2446 -> 6.0.4pre2497Austin Seipp1-3/+3
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-08-04foundationdb52: 5.2.6 -> 5.2.8Austin Seipp1-3/+2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-07-26foundationdb60: 6.0.2pre2430 -> 6.0.3pre2446Austin Seipp1-3/+3
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-07-26foundationdb: include debug info in all buildsAustin Seipp1-1/+4
This puts the debug information in a separate output, as expected. This allows meaningful symbol names to appear in DWARF-based tools like perf and gdb. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-07-20foundationdb: bump to 5.2.6, 6.0.2-preleaseAustin Seipp3-8/+101
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-07-03foundationdb: add 5.2.5 release, and new 6.0.0 snapshotAustin Seipp3-46/+152
This requires a bit of fiddling with the ldflags patches and reworking a few things about how the SCM info is configured. Ideally, not much more will change before the 6.0 release, I think... This also upgrades all FoundationDB packages to use the ordinary libressl expression (which is now at 2.7.x), and changes around a few other things, which will require a rebuild. Signed-off-by: Austin Seipp <aseipp@pobox.com>