Skip to content

supernovas: init at 1.5.0#437400

Merged
Aleksanaa merged 1 commit into
NixOS:masterfrom
activexray:kshila/supernovas
Dec 1, 2025
Merged

supernovas: init at 1.5.0#437400
Aleksanaa merged 1 commit into
NixOS:masterfrom
activexray:kshila/supernovas

Conversation

@activexray

Copy link
Copy Markdown
Contributor

Initial packaging for SuperNOVAS astrometry library for C/C++. Future PRs will include dependencies like CALCEPH for ephemeris integration.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 9.needs: reviewer This PR currently has no reviewers requested and needs attention. labels Aug 27, 2025
Comment thread pkgs/by-name/su/supernovas/package.nix Outdated
@nixpkgs-ci nixpkgs-ci Bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Aug 28, 2025
@activexray

Copy link
Copy Markdown
Contributor Author

Thanks for the review @iamanaws. Just pushed the changes.

@iamanaws

Copy link
Copy Markdown
Member

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 437400
Commit: 9dd92e41106d377f21a261ac0ca500806d809bea (subsequent changes)
Merge: 7fa4f72dad404eea77028275f553d757e7d3c31f

Logs: https://github.com/Iamanaws/nixpkgs-review-gha/actions/runs/17313709800


x86_64-linux

✅ 1 package built:
  • supernovas

aarch64-linux

✅ 1 package built:
  • supernovas

x86_64-darwin (sandbox = true)

❌ 1 package failed to build:
  • supernovas

Error logs: `x86_64-darwin`
supernovas
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/5gcf7i0s7p2i9w52rjr9m7b2mghvc2rx-source
source root is source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
no configure script, doing nothing
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
build flags: SHELL=/nix/store/qcy443gcdq9a5x7lqi2js0bsdmaks77y-bash-5.3p3/bin/bash
which: no ldconfig in (/nix/store/a1bgawmhzc80g78941xr0f0ba37514l2-clang-wrapper-19.1.7/bin:/nix/store/25lj53ylibs00w72sa3bnapn6qv73vaq-clang-19.1.7/bin:/nix/store/4419xj3qgn8ir8qigdk5vmbf2gfkfa8x-coreutils-9.7/bin:/nix/store/kc9y5xflxl0ggmsxzsnhdgdpmffkgw6x-cctools-binutils-darwin-wrapper-1010.6/bin:/nix/store/i9mixba1994pvvac743p24rbvn7phhq8-cctools-binutils-darwin-1010.6/bin:/nix/store/axn4gy95fp9ihw21s7j7vs05ja6hcpml-xcbuild-0.1.1-unstable-2019-11-20-xcrun/bin:/nix/store/884gns60z8vjb4r67s0jqpfs2ms43ds9-which-2.23/bin:/nix/store/c35qnqp2w3nzcz14xhz9fvrs8xlghv97-libiconv-109/bin:/nix/store/4419xj3qgn8ir8qigdk5vmbf2gfkfa8x-coreutils-9.7/bin:/nix/store/dy362qhfnbwpmgl2640ais7c8l96m36j-findutils-4.10.0/bin:/nix/store/qljc0pg7a1892rkyr067jkgnwklq7msx-diffutils-3.12/bin:/nix/store/yps6adxhn723bfh2nzjiqj5v8kg6x56p-gnused-4.9/bin:/nix/store/js0k9pjw7hs7bcmpqk1z9ic7alng57pp-gnugrep-3.12/bin:/nix/store/jk41c12k87g2rjzvp8rd2wqyrjlpb9k8-gawk-5.3.2/bin:/nix/store/zpdnx6afg2l6ax80kh1zardbcvdmx66f-gnutar-1.35/bin:/nix/store/vz9r3lpbaxwap29kixvns0md9cqsccm2-gzip-1.14/bin:/nix/store/x7sym33nkfldh17vsxdrr1r2059p2xwv-bzip2-1.0.8-bin/bin:/nix/store/9skp0bwibcghf7ba5n5q6aqwgb161i9k-gnumake-4.4.1/bin:/nix/store/qcy443gcdq9a5x7lqi2js0bsdmaks77y-bash-5.3p3/bin:/nix/store/lia0hak1r4ksr6940d7ba4dbvhnhxhq2-patch-2.8/bin:/nix/store/0f7n9zh00yly71ri3aiy19pp1sh133ax-xz-5.8.1-bin/bin:/nix/store/y357ras1saj1napr3lcbr8bv2l6284p1-file-5.45/bin)
which: no doxygen in (/nix/store/a1bgawmhzc80g78941xr0f0ba37514l2-clang-wrapper-19.1.7/bin:/nix/store/25lj53ylibs00w72sa3bnapn6qv73vaq-clang-19.1.7/bin:/nix/store/4419xj3qgn8ir8qigdk5vmbf2gfkfa8x-coreutils-9.7/bin:/nix/store/kc9y5xflxl0ggmsxzsnhdgdpmffkgw6x-cctools-binutils-darwin-wrapper-1010.6/bin:/nix/store/i9mixba1994pvvac743p24rbvn7phhq8-cctools-binutils-darwin-1010.6/bin:/nix/store/axn4gy95fp9ihw21s7j7vs05ja6hcpml-xcbuild-0.1.1-unstable-2019-11-20-xcrun/bin:/nix/store/884gns60z8vjb4r67s0jqpfs2ms43ds9-which-2.23/bin:/nix/store/c35qnqp2w3nzcz14xhz9fvrs8xlghv97-libiconv-109/bin:/nix/store/4419xj3qgn8ir8qigdk5vmbf2gfkfa8x-coreutils-9.7/bin:/nix/store/dy362qhfnbwpmgl2640ais7c8l96m36j-findutils-4.10.0/bin:/nix/store/qljc0pg7a1892rkyr067jkgnwklq7msx-diffutils-3.12/bin:/nix/store/yps6adxhn723bfh2nzjiqj5v8kg6x56p-gnused-4.9/bin:/nix/store/js0k9pjw7hs7bcmpqk1z9ic7alng57pp-gnugrep-3.12/bin:/nix/store/jk41c12k87g2rjzvp8rd2wqyrjlpb9k8-gawk-5.3.2/bin:/nix/store/zpdnx6afg2l6ax80kh1zardbcvdmx66f-gnutar-1.35/bin:/nix/store/vz9r3lpbaxwap29kixvns0md9cqsccm2-gzip-1.14/bin:/nix/store/x7sym33nkfldh17vsxdrr1r2059p2xwv-bzip2-1.0.8-bin/bin:/nix/store/9skp0bwibcghf7ba5n5q6aqwgb161i9k-gnumake-4.4.1/bin:/nix/store/qcy443gcdq9a5x7lqi2js0bsdmaks77y-bash-5.3p3/bin:/nix/store/lia0hak1r4ksr6940d7ba4dbvhnhxhq2-patch-2.8/bin:/nix/store/0f7n9zh00yly71ri3aiy19pp1sh133ax-xz-5.8.1-bin/bin:/nix/store/y357ras1saj1napr3lcbr8bv2l6284p1-file-5.45/bin)
WARNING! Doxygen is not available. Will skip 'dox' target
mkdir -p lib
clang -o lib/libsupernovas.so.1 -Iinclude -DDEFAULT_SOLSYS=3 -DBUILTIN_SOLSYS3=1 -DBUILTIN_SOLSYS_EPHEM_READER=1 -DDEFAULT_CIO_LOCATOR_FILE=\"/usr/share/CIO_RA.TXT\" -g -Os -Wall src/target.c src/observer.c src/earth.c src/equinox.c src/coords.c src/system.c src/cio.c src/orbital.c src/spectral.c src/grav.c src/nutation.c src/timescale.c src/frames.c src/place.c src/calendar.c src/refract.c src/naif.c src/parse.c src/plugin.c src/util.c src/planets.c src/solsys3.c src/solsys-ephem.c -shared -fPIC -Wl,-soname,libsupernovas.so.1 -lm
ld: unknown option: -soname
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [build.mk:15: lib/libsupernovas.so.1] Error 1

aarch64-darwin (sandbox = true)

❌ 1 package failed to build:
  • supernovas

Error logs: `aarch64-darwin`
supernovas
unpacking source archive /nix/store/5gcf7i0s7p2i9w52rjr9m7b2mghvc2rx-source
source root is source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
no configure script, doing nothing
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
build flags: SHELL=/nix/store/3g3sgwpnig8sd0w9wbs7d5gy512r43cq-bash-5.3p3/bin/bash
which: no ldconfig in (/nix/store/k4mvgh65zn6xb4f6zs9kypz4lq8sgmk3-clang-wrapper-19.1.7/bin:/nix/store/h7s2kf798azdmxpj7fccdirlb1hys3r8-clang-19.1.7/bin:/nix/store/9i147r2fj9gj295jxa0nf2m4nwdkc94r-coreutils-9.7/bin:/nix/store/8fgyb2w8zqwg1xmhbi766vvdghihx0m6-cctools-binutils-darwin-wrapper-1010.6/bin:/nix/store/l1z4c8rbk8fijd7f9xn1mr1a4ax6qwc1-cctools-binutils-darwin-1010.6/bin:/nix/store/2hf4za3kcpm5gfsbff9w2yfj9ksf2xa5-xcbuild-0.1.1-unstable-2019-11-20-xcrun/bin:/nix/store/ib5b16x3rb6lhwbhj3jy604hyfv8f1pf-which-2.23/bin:/nix/store/pff8c9a4l487r0jaipibq21mkww5f1yw-libiconv-109/bin:/nix/store/9i147r2fj9gj295jxa0nf2m4nwdkc94r-coreutils-9.7/bin:/nix/store/c09zwg0n8sgii76cy1ggmfs950srn4fv-findutils-4.10.0/bin:/nix/store/6p1kfmr4lsn6w42rnq2svg0gmwshr94s-diffutils-3.12/bin:/nix/store/vl63mv5qaqyfgb3y76p8zijacjm2rif3-gnused-4.9/bin:/nix/store/rvhvjvwcssnz7i8yyp436h7qrql2pvcz-gnugrep-3.12/bin:/nix/store/ahsg0s563409iwkin6pyyxxfwhrscrqs-gawk-5.3.2/bin:/nix/store/7gb37jk1hjsb8kww238by7cw1qi9sczm-gnutar-1.35/bin:/nix/store/j4mskihmv8k0fapkgjhgzci617n4qbpp-gzip-1.14/bin:/nix/store/i61lqrcdlx80p9hbgh1a9cmv8ibcn9ib-bzip2-1.0.8-bin/bin:/nix/store/hyrkz96cpqn5f0f5p7ng3fq0f044h0hb-gnumake-4.4.1/bin:/nix/store/3g3sgwpnig8sd0w9wbs7d5gy512r43cq-bash-5.3p3/bin:/nix/store/0bnp7z85h3m6559bvpfx874zjan7impi-patch-2.8/bin:/nix/store/brga3r03n3facxrgyajawm2jkmmyh5pd-xz-5.8.1-bin/bin:/nix/store/43zqrnqn3y4j6zw8m85b8zld9acg8i3v-file-5.45/bin)
which: no doxygen in (/nix/store/k4mvgh65zn6xb4f6zs9kypz4lq8sgmk3-clang-wrapper-19.1.7/bin:/nix/store/h7s2kf798azdmxpj7fccdirlb1hys3r8-clang-19.1.7/bin:/nix/store/9i147r2fj9gj295jxa0nf2m4nwdkc94r-coreutils-9.7/bin:/nix/store/8fgyb2w8zqwg1xmhbi766vvdghihx0m6-cctools-binutils-darwin-wrapper-1010.6/bin:/nix/store/l1z4c8rbk8fijd7f9xn1mr1a4ax6qwc1-cctools-binutils-darwin-1010.6/bin:/nix/store/2hf4za3kcpm5gfsbff9w2yfj9ksf2xa5-xcbuild-0.1.1-unstable-2019-11-20-xcrun/bin:/nix/store/ib5b16x3rb6lhwbhj3jy604hyfv8f1pf-which-2.23/bin:/nix/store/pff8c9a4l487r0jaipibq21mkww5f1yw-libiconv-109/bin:/nix/store/9i147r2fj9gj295jxa0nf2m4nwdkc94r-coreutils-9.7/bin:/nix/store/c09zwg0n8sgii76cy1ggmfs950srn4fv-findutils-4.10.0/bin:/nix/store/6p1kfmr4lsn6w42rnq2svg0gmwshr94s-diffutils-3.12/bin:/nix/store/vl63mv5qaqyfgb3y76p8zijacjm2rif3-gnused-4.9/bin:/nix/store/rvhvjvwcssnz7i8yyp436h7qrql2pvcz-gnugrep-3.12/bin:/nix/store/ahsg0s563409iwkin6pyyxxfwhrscrqs-gawk-5.3.2/bin:/nix/store/7gb37jk1hjsb8kww238by7cw1qi9sczm-gnutar-1.35/bin:/nix/store/j4mskihmv8k0fapkgjhgzci617n4qbpp-gzip-1.14/bin:/nix/store/i61lqrcdlx80p9hbgh1a9cmv8ibcn9ib-bzip2-1.0.8-bin/bin:/nix/store/hyrkz96cpqn5f0f5p7ng3fq0f044h0hb-gnumake-4.4.1/bin:/nix/store/3g3sgwpnig8sd0w9wbs7d5gy512r43cq-bash-5.3p3/bin:/nix/store/0bnp7z85h3m6559bvpfx874zjan7impi-patch-2.8/bin:/nix/store/brga3r03n3facxrgyajawm2jkmmyh5pd-xz-5.8.1-bin/bin:/nix/store/43zqrnqn3y4j6zw8m85b8zld9acg8i3v-file-5.45/bin)
WARNING! Doxygen is not available. Will skip 'dox' target
mkdir -p lib
clang -o lib/libsupernovas.so.1 -Iinclude -DDEFAULT_SOLSYS=3 -DBUILTIN_SOLSYS3=1 -DBUILTIN_SOLSYS_EPHEM_READER=1 -DDEFAULT_CIO_LOCATOR_FILE=\"/usr/share/CIO_RA.TXT\" -g -Os -Wall src/target.c src/observer.c src/earth.c src/equinox.c src/coords.c src/system.c src/cio.c src/orbital.c src/spectral.c src/grav.c src/nutation.c src/timescale.c src/frames.c src/place.c src/calendar.c src/refract.c src/naif.c src/parse.c src/plugin.c src/util.c src/planets.c src/solsys3.c src/solsys-ephem.c -shared -fPIC -Wl,-soname,libsupernovas.so.1 -lm
ld: unknown option: -soname
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [build.mk:15: lib/libsupernovas.so.1] Error 1

@activexray

Copy link
Copy Markdown
Contributor Author

Aw Darwin not building. I'll take a stab at fixing it, otherwise I'll change the platform to just Linux.

@activexray

Copy link
Copy Markdown
Contributor Author

I've managed to rewrite the build system for this library in cmake, which will make it quite a bit easier to consume (not just for nix, but for other packagers). That'll take a bit to land, so if you don't mind checking out #438803 @iamanaws as that'll be an optional dep for this in the meantime, I'd appreciate it.

@iamanaws

iamanaws commented Sep 1, 2025

Copy link
Copy Markdown
Member

Just to have it as reference, this pkg depends on either Sigmyne/SuperNOVAS#221 or Sigmyne/SuperNOVAS#222

@attipaci

attipaci commented Sep 6, 2025

Copy link
Copy Markdown

@iamanaws,

I've tweaked @kiranshila's CMake configuration quite a bit, partly because it did not play well with Fedora and Ubuntu packaging requirements. For example, those Linux distros don't want to have and RPATH set for the shared libs during build, and they want to control what CFLAGS are used for the build. Hence the new CMake config does not set RPATH, and CMAKE_BUILD_TYPE no longer defaults to Release, and it sticks to the built-in default compiler options when build type is set. I have also expanded it to support more complete builds for the library, including HTML documentation, and regression testing.

All of the above has been merged to the main branch, and will also be available starting with the next release candidate (sometime next week).

SuperNOVAS is currently packaged both as an RPM (Fedora 41+, EPEL10) and for Debian. Those two Linux packages try to provide the same package structure and same install locations, except for the bits where the two distros differ on requirements (e.g. in naming conventions or install locations). I think it would be a good idea if NixOS followed the same template too, as much as possible...

There are some ways though that NixOS could deviate from the Debian and RPM packaging scheme:

  • There is no need to provide the supernovas-solsys1 or supernovas-solsys2 subpackages. These are only for supporting legacy NOVAS C applications. Those few who might need it, probably want to custom compile SuperNOVAS anyway, so there is little use for providing these in packaged forms.
  • There is no need to provide the supernovas-cio-data. It is another legacy feature that is obsoleted going forward.

I'm planning to obsolete the above subpackages in Debian and Fedora/EPEL also. Let me know if you need more info on building and packaging SuperNOVAS.

@activexray activexray force-pushed the kshila/supernovas branch 3 times, most recently from 04b40c3 to 1bafed1 Compare November 20, 2025 00:31
@activexray activexray requested a review from iamanaws November 20, 2025 00:32
@activexray

Copy link
Copy Markdown
Contributor Author

Alright @iamanaws, this should be good to go now. I've incorporated the calceph plugin as the sensible default, but wired it to be overridden if users want to use a different ephemeris provider library (not that there are any others packaged in nix right now).

@activexray activexray changed the title supernovas: init at 1.4.2 supernovas: init at 1.5.0 Nov 20, 2025
Update pkgs/by-name/su/supernovas/package.nix

Co-authored-by: Angel J <78835633+Iamanaws@users.noreply.github.com>
@iamanaws

Copy link
Copy Markdown
Member

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 437400
Commit: b4aac7e404dff3d34bfb8b3d806cc9d5b63411d6 (subsequent changes)
Merge: f64f4eb3fd82385369385980975b8a4a472d98dd

Logs: https://github.com/iamanaws/nixpkgs-review-gha/actions/runs/19524049643


x86_64-linux

✅ 1 package built:
  • supernovas

aarch64-linux

✅ 1 package built:
  • supernovas

x86_64-darwin (sandbox = relaxed)

✅ 1 package built:
  • supernovas

aarch64-darwin (sandbox = relaxed)

✅ 1 package built:
  • supernovas

@iamanaws iamanaws left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved automatically following the successful run of nixpkgs-review.

@nixpkgs-ci nixpkgs-ci Bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Nov 20, 2025
@activexray

Copy link
Copy Markdown
Contributor Author

Excellent! Thank you! Now for the hard part of finding someone with merge access haha.

@activexray

Copy link
Copy Markdown
Contributor Author

Perhaps @Aleksanaa could merge?

@Aleksanaa Aleksanaa added this pull request to the merge queue Dec 1, 2025
Merged via the queue into NixOS:master with commit 645d54e Dec 1, 2025
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants