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

New package: CalculiX-2.20 #39984

Closed
wants to merge 4 commits into from
Closed

Conversation

Phicem
Copy link

@Phicem Phicem commented Oct 16, 2022

NEW PACKAGE - CalculiX

This new package conforms to the package requirements: YES

CalculiX is a 3D finite element program. It is an optional but important dependency of FreeCAD (for mechanical and thermal calculations). This PR is related to issue #5603.

CalculiX is split in two parts: the solver (CalculiX-ccx) and the graphical interface and pre/post-processing (CalculiX-cgx).

This PR includes 4 packages, each in a separate commit:

  • spooles (build dependency for CalculiX-ccx)
  • CalculiX-ccx
  • CalculiX-cgx (including tetgen binary)
  • CalculiX meta-package (which brings CalculiX-ccx and CalculiX-cgx)

Tests

Local build testing

  • Native x86_64 (glibc and musl): OK
  • Native i686 (glibc) (from an x86_64 machine) : OK
  • Native armv7l (glibc): OK

Cross build testing (from x86_64 machine)

  • Cross-compiling to armv7l: OK (requires using ./xbps-src binary-boostrap i686 on an x86_64 system, otherwise it fails)
  • Cross-compiling to aarch64: OK

Runtime testing

  • On x86_64 (glibc): OK (for CalculiX-ccx: some calculation tests differ from the official reference results files)
  • On armv7l: OK (for CalculiX-ccx: some calculation differences too)
  • On i686: NOT TESTED

@classabbyamp classabbyamp added the new-package This PR adds a new package label Oct 16, 2022
Copy link
Member

@classabbyamp classabbyamp left a comment

Choose a reason for hiding this comment

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

just a couple of things i noticed. there's a lot of work to be done here, I think, but I need to look into this more

srcpkgs/CalculiX-ccx/template Outdated Show resolved Hide resolved
srcpkgs/tetgen/template Outdated Show resolved Hide resolved
@Phicem

This comment was marked as outdated.

@Phicem

This comment was marked as outdated.

Copy link
Member

@classabbyamp classabbyamp left a comment

Choose a reason for hiding this comment

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

ok I think that's everything that I can see

srcpkgs/tetgen/template Outdated Show resolved Hide resolved
srcpkgs/tetgen/template Outdated Show resolved Hide resolved
srcpkgs/CalculiX-cgx/template Show resolved Hide resolved
srcpkgs/tetgen/template Outdated Show resolved Hide resolved
Comment on lines 5 to 6
build_style="gnu-makefile"
make_cmd="make -C ${pkgname}${version} -f makefile"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
build_style="gnu-makefile"
make_cmd="make -C ${pkgname}${version} -f makefile"
build_style=cmake

the cmake files provided are a bit better than the makefile

srcpkgs/CalculiX-cgx/template Outdated Show resolved Hide resolved
srcpkgs/CalculiX-cgx/files/README_LICENSES Outdated Show resolved Hide resolved
srcpkgs/CalculiX-cgx/template Outdated Show resolved Hide resolved
hostmakedepends+="glibc-devel-32bit"
fi
CFLAGS=" -O2 -Wall -Wno-narrowing -I./ -I/usr/include/ -I/usr/include/GL -I../../libSNL/src -I../../glut-3.5/src -I/usr/X11/include"

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
do_build() {
make CC=$CC CXX=$CXX CFLAGS="$CFLAGS"
}

srcpkgs/CalculiX-cgx/template Outdated Show resolved Hide resolved
srcpkgs/SPOOLES/template Outdated Show resolved Hide resolved
srcpkgs/tetgen/template Outdated Show resolved Hide resolved
@Phicem Phicem marked this pull request as draft October 22, 2022 07:47
@Phicem
Copy link
Author

Phicem commented Oct 22, 2022

Thank you for all your comments! I marked the PR as draft until I test all these modifications.

@Phicem Phicem changed the title CalculiX-2.20 [WIP] CalculiX-2.20 Oct 22, 2022
@Phicem Phicem force-pushed the CalculiX-2.20 branch 3 times, most recently from 6a3009d to 4f2f0a3 Compare October 31, 2022 14:25
@Phicem
Copy link
Author

Phicem commented Oct 31, 2022

I think the packages are ready for review!

tetgen binary is now built directly in CalculiX-cgx package.

I took all your comments into account (with one exception: I still use make instead of cmake for tetgen binary, because it's more practical since I can't use the cmake build method of xbps-src).

I also added a -O2 flag in FFLAGS of CalculiX-ccx.

@Phicem Phicem changed the title [WIP] CalculiX-2.20 New package: CalculiX-2.20 Oct 31, 2022
@Phicem Phicem marked this pull request as ready for review October 31, 2022 17:55
@classabbyamp
Copy link
Member

classabbyamp commented Nov 4, 2022

I also added a -O2 flag in FFLAGS of CalculiX-ccx.

it's already in there:

XBPS_CFLAGS="-O2 -pipe"
XBPS_CXXFLAGS="${XBPS_CFLAGS}"
XBPS_FFLAGS="${XBPS_CFLAGS}"

@Phicem
Copy link
Author

Phicem commented Nov 5, 2022

Actually I used a variable named _FFLAGS instead of FFLAGS, because an xlint warning told me to prefix custom variables with_. I did not realize that this change of name would make me lose the benefit of getting default FFLAGS.

I will fix this and use FFLAGS directly, but I'm expecting that xlint test will fail. By the way, shouln't we add FFLAGS to the list of official variables recognized by xlint?

(I keep this last change as a separate commit, I'll rebase if the change is okay.)

@github-actions
Copy link

github-actions bot commented Feb 4, 2023

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label Feb 4, 2023
@github-actions
Copy link

github-actions bot commented May 8, 2023

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label May 8, 2023
@github-actions github-actions bot closed this May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-package This PR adds a new package Stale
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants