buddhi1980 / mandelbulber2

Official repository for Mandelbulber v2
GNU General Public License v3.0
908 stars 115 forks source link

I create Flatpak package for mandelbulber #832

Closed kevinsmia1939 closed 3 years ago

kevinsmia1939 commented 3 years ago

Hi,

I create Flatpak for mandelbulber, I would like to submit it to Flathub, what do you think? https://github.com/kevinsmia1939/flathub/tree/com.github.buddhi1980.mandelbulber

Thanks

kevinsmia1939 commented 3 years ago

Right now mandelbulber can start, but it cannot load the examples fractals.

I got this error.

Error: Can't open file formula/ui/mandelbulb.ui
Fractal ui file can't be loaded

I did try to copy the files over, but still no luck.

      - mkdir -p app/share/mandelbulber2
      - cp -arv mandelbulber2/deploy/share/mandelbulber2/* app/share/mandelbulber2/
      - cp -arv mandelbulber2/formula/* app/share/mandelbulber2/formula/
      - cp -arv mandelbulber2/opencl/* app/share/mandelbulber2/opencl/
buddhi1980 commented 3 years ago

Can I find somewhere this package or full list of files from package? I would like to see if directory structure is complete or what is wrong.

buddhi1980 commented 3 years ago

It would help if you paste here console output produced by running of mandelbulber2 I have found one error in your script. From which directory did you launched the program?

kevinsmia1939 commented 3 years ago

Hello @buddhi1980

You can build the Flatpak by downloading my com.github.buddhi1980.mandelbulber.yaml To build it just install flatpak-builder. For Ubuntu: sudo apt install flatpak-builder

Build flatpak-builder --install --user build com.github.buddhi1980.mandelbulber.yaml --force-clean

Run the installed apps flatpak run com.github.buddhi1980.mandelbulber

I do have some clue what is wrong, the mandelbulber2 folder under /app/share is not present. I will have to ask some Flatpak expert on why my script does not work.

Error! There is no 'mandelbulber2' directory in /app/share
Error! There is no 'doc/mandelbulber2' directory in /app/share
Trying to use /usr/share/mandelbulber2 as program data directory
Error! Directory /usr/share/mandelbulber2doesn't exist!
Error! Directory /usr/share/doc/mandelbulber2doesn't exist!
Mandelbulber 2.24
Log file name: /home/kev/.mandelbulber_log.txt
Detected 8 CPUs
Program data files directory 
Default data hidden directory: /home/kev/.mandelbulber/
Default data public directory: /home/kev/mandelbulber/
Warning: Qt: Session management error: Could not open network socket
((null):0, (null))

Settings file: /home/kev/.mandelbulber/mandelbulber_224.ini
Warning: env says KDE is running but SNI unavailable -- check KDE_FULL_SESSION and XDG_CURRENT_DESKTOP
(src/kstatusnotifieritem.cpp:985, void KStatusNotifierItemPrivate::setLegacySystemTrayEnabled(bool))

Error: Can't open file formula/ui/mandelbulb.ui
Fractal ui file can't be loaded
kev@localhost:~/Desktop/Software/ParaView-submit/flathub> 
bash-5.1$ tree -a
.
├── bin
│   ├── gsl-config
│   ├── gsl-histogram
│   ├── gsl-randist
│   ├── libpng12-config
│   ├── libpng-config -> libpng12-config
│   └── mandelbulber2
├── include
│   ├── CL
│   │   ├── cl2.hpp
│   │   ├── cl_d3d10.h
│   │   ├── cl_d3d11.h
│   │   ├── cl_dx9_media_sharing.h
│   │   ├── cl_dx9_media_sharing_intel.h
│   │   ├── cl_egl.h
│   │   ├── cl_ext.h
│   │   ├── cl_ext_intel.h
│   │   ├── cl_gl_ext.h
│   │   ├── cl_gl.h
│   │   ├── cl.h
│   │   ├── cl_half.h
│   │   ├── cl_icd.h
│   │   ├── cl_platform.h
│   │   ├── cl_va_api_media_sharing_intel.h
│   │   ├── cl_version.h
│   │   └── opencl.h
│   ├── gsl
│   │   ├── gsl_blas.h
│   │   ├── gsl_blas_types.h
│   │   ├── gsl_block_char.h
│   │   ├── gsl_block_complex_double.h
│   │   ├── gsl_block_complex_float.h
│   │   ├── gsl_block_complex_long_double.h
│   │   ├── gsl_block_double.h
│   │   ├── gsl_block_float.h
│   │   ├── gsl_block.h
│   │   ├── gsl_block_int.h
│   │   ├── gsl_block_long_double.h
│   │   ├── gsl_block_long.h
│   │   ├── gsl_block_short.h
│   │   ├── gsl_block_uchar.h
│   │   ├── gsl_block_uint.h
│   │   ├── gsl_block_ulong.h
│   │   ├── gsl_block_ushort.h
│   │   ├── gsl_bspline.h
│   │   ├── gsl_bst_avl.h
│   │   ├── gsl_bst.h
│   │   ├── gsl_bst_rb.h
│   │   ├── gsl_bst_types.h
│   │   ├── gsl_cblas.h
│   │   ├── gsl_cdf.h
│   │   ├── gsl_chebyshev.h
│   │   ├── gsl_check_range.h
│   │   ├── gsl_combination.h
│   │   ├── gsl_complex.h
│   │   ├── gsl_complex_math.h
│   │   ├── gsl_const_cgs.h
│   │   ├── gsl_const_cgsm.h
│   │   ├── gsl_const.h
│   │   ├── gsl_const_mksa.h
│   │   ├── gsl_const_mks.h
│   │   ├── gsl_const_num.h
│   │   ├── gsl_deriv.h
│   │   ├── gsl_dft_complex_float.h
│   │   ├── gsl_dft_complex.h
│   │   ├── gsl_dht.h
│   │   ├── gsl_diff.h
│   │   ├── gsl_eigen.h
│   │   ├── gsl_errno.h
│   │   ├── gsl_fft_complex_float.h
│   │   ├── gsl_fft_complex.h
│   │   ├── gsl_fft.h
│   │   ├── gsl_fft_halfcomplex_float.h
│   │   ├── gsl_fft_halfcomplex.h
│   │   ├── gsl_fft_real_float.h
│   │   ├── gsl_fft_real.h
│   │   ├── gsl_filter.h
│   │   ├── gsl_fit.h
│   │   ├── gsl_heapsort.h
│   │   ├── gsl_histogram2d.h
│   │   ├── gsl_histogram.h
│   │   ├── gsl_ieee_utils.h
│   │   ├── gsl_inline.h
│   │   ├── gsl_integration.h
│   │   ├── gsl_interp2d.h
│   │   ├── gsl_interp.h
│   │   ├── gsl_linalg.h
│   │   ├── gsl_machine.h
│   │   ├── gsl_math.h
│   │   ├── gsl_matrix_char.h
│   │   ├── gsl_matrix_complex_double.h
│   │   ├── gsl_matrix_complex_float.h
│   │   ├── gsl_matrix_complex_long_double.h
│   │   ├── gsl_matrix_double.h
│   │   ├── gsl_matrix_float.h
│   │   ├── gsl_matrix.h
│   │   ├── gsl_matrix_int.h
│   │   ├── gsl_matrix_long_double.h
│   │   ├── gsl_matrix_long.h
│   │   ├── gsl_matrix_short.h
│   │   ├── gsl_matrix_uchar.h
│   │   ├── gsl_matrix_uint.h
│   │   ├── gsl_matrix_ulong.h
│   │   ├── gsl_matrix_ushort.h
│   │   ├── gsl_message.h
│   │   ├── gsl_min.h
│   │   ├── gsl_minmax.h
│   │   ├── gsl_mode.h
│   │   ├── gsl_monte.h
│   │   ├── gsl_monte_miser.h
│   │   ├── gsl_monte_plain.h
│   │   ├── gsl_monte_vegas.h
│   │   ├── gsl_movstat.h
│   │   ├── gsl_multifit.h
│   │   ├── gsl_multifit_nlinear.h
│   │   ├── gsl_multifit_nlin.h
│   │   ├── gsl_multilarge.h
│   │   ├── gsl_multilarge_nlinear.h
│   │   ├── gsl_multimin.h
│   │   ├── gsl_multiroots.h
│   │   ├── gsl_multiset.h
│   │   ├── gsl_nan.h
│   │   ├── gsl_ntuple.h
│   │   ├── gsl_odeiv2.h
│   │   ├── gsl_odeiv.h
│   │   ├── gsl_permutation.h
│   │   ├── gsl_permute_char.h
│   │   ├── gsl_permute_complex_double.h
│   │   ├── gsl_permute_complex_float.h
│   │   ├── gsl_permute_complex_long_double.h
│   │   ├── gsl_permute_double.h
│   │   ├── gsl_permute_float.h
│   │   ├── gsl_permute.h
│   │   ├── gsl_permute_int.h
│   │   ├── gsl_permute_long_double.h
│   │   ├── gsl_permute_long.h
│   │   ├── gsl_permute_matrix_char.h
│   │   ├── gsl_permute_matrix_complex_double.h
│   │   ├── gsl_permute_matrix_complex_float.h
│   │   ├── gsl_permute_matrix_complex_long_double.h
│   │   ├── gsl_permute_matrix_double.h
│   │   ├── gsl_permute_matrix_float.h
│   │   ├── gsl_permute_matrix.h
│   │   ├── gsl_permute_matrix_int.h
│   │   ├── gsl_permute_matrix_long_double.h
│   │   ├── gsl_permute_matrix_long.h
│   │   ├── gsl_permute_matrix_short.h
│   │   ├── gsl_permute_matrix_uchar.h
│   │   ├── gsl_permute_matrix_uint.h
│   │   ├── gsl_permute_matrix_ulong.h
│   │   ├── gsl_permute_matrix_ushort.h
│   │   ├── gsl_permute_short.h
│   │   ├── gsl_permute_uchar.h
│   │   ├── gsl_permute_uint.h
│   │   ├── gsl_permute_ulong.h
│   │   ├── gsl_permute_ushort.h
│   │   ├── gsl_permute_vector_char.h
│   │   ├── gsl_permute_vector_complex_double.h
│   │   ├── gsl_permute_vector_complex_float.h
│   │   ├── gsl_permute_vector_complex_long_double.h
│   │   ├── gsl_permute_vector_double.h
│   │   ├── gsl_permute_vector_float.h
│   │   ├── gsl_permute_vector.h
│   │   ├── gsl_permute_vector_int.h
│   │   ├── gsl_permute_vector_long_double.h
│   │   ├── gsl_permute_vector_long.h
│   │   ├── gsl_permute_vector_short.h
│   │   ├── gsl_permute_vector_uchar.h
│   │   ├── gsl_permute_vector_uint.h
│   │   ├── gsl_permute_vector_ulong.h
│   │   ├── gsl_permute_vector_ushort.h
│   │   ├── gsl_poly.h
│   │   ├── gsl_pow_int.h
│   │   ├── gsl_precision.h
│   │   ├── gsl_qrng.h
│   │   ├── gsl_randist.h
│   │   ├── gsl_rng.h
│   │   ├── gsl_roots.h
│   │   ├── gsl_rstat.h
│   │   ├── gsl_sf_airy.h
│   │   ├── gsl_sf_bessel.h
│   │   ├── gsl_sf_clausen.h
│   │   ├── gsl_sf_coulomb.h
│   │   ├── gsl_sf_coupling.h
│   │   ├── gsl_sf_dawson.h
│   │   ├── gsl_sf_debye.h
│   │   ├── gsl_sf_dilog.h
│   │   ├── gsl_sf_elementary.h
│   │   ├── gsl_sf_ellint.h
│   │   ├── gsl_sf_elljac.h
│   │   ├── gsl_sf_erf.h
│   │   ├── gsl_sf_exp.h
│   │   ├── gsl_sf_expint.h
│   │   ├── gsl_sf_fermi_dirac.h
│   │   ├── gsl_sf_gamma.h
│   │   ├── gsl_sf_gegenbauer.h
│   │   ├── gsl_sf.h
│   │   ├── gsl_sf_hermite.h
│   │   ├── gsl_sf_hyperg.h
│   │   ├── gsl_sf_laguerre.h
│   │   ├── gsl_sf_lambert.h
│   │   ├── gsl_sf_legendre.h
│   │   ├── gsl_sf_log.h
│   │   ├── gsl_sf_mathieu.h
│   │   ├── gsl_sf_pow_int.h
│   │   ├── gsl_sf_psi.h
│   │   ├── gsl_sf_result.h
│   │   ├── gsl_sf_sincos_pi.h
│   │   ├── gsl_sf_synchrotron.h
│   │   ├── gsl_sf_transport.h
│   │   ├── gsl_sf_trig.h
│   │   ├── gsl_sf_zeta.h
│   │   ├── gsl_siman.h
│   │   ├── gsl_sort_char.h
│   │   ├── gsl_sort_double.h
│   │   ├── gsl_sort_float.h
│   │   ├── gsl_sort.h
│   │   ├── gsl_sort_int.h
│   │   ├── gsl_sort_long_double.h
│   │   ├── gsl_sort_long.h
│   │   ├── gsl_sort_short.h
│   │   ├── gsl_sort_uchar.h
│   │   ├── gsl_sort_uint.h
│   │   ├── gsl_sort_ulong.h
│   │   ├── gsl_sort_ushort.h
│   │   ├── gsl_sort_vector_char.h
│   │   ├── gsl_sort_vector_double.h
│   │   ├── gsl_sort_vector_float.h
│   │   ├── gsl_sort_vector.h
│   │   ├── gsl_sort_vector_int.h
│   │   ├── gsl_sort_vector_long_double.h
│   │   ├── gsl_sort_vector_long.h
│   │   ├── gsl_sort_vector_short.h
│   │   ├── gsl_sort_vector_uchar.h
│   │   ├── gsl_sort_vector_uint.h
│   │   ├── gsl_sort_vector_ulong.h
│   │   ├── gsl_sort_vector_ushort.h
│   │   ├── gsl_spblas.h
│   │   ├── gsl_specfunc.h
│   │   ├── gsl_splinalg.h
│   │   ├── gsl_spline2d.h
│   │   ├── gsl_spline.h
│   │   ├── gsl_spmatrix_char.h
│   │   ├── gsl_spmatrix_complex_double.h
│   │   ├── gsl_spmatrix_complex_float.h
│   │   ├── gsl_spmatrix_complex_long_double.h
│   │   ├── gsl_spmatrix_double.h
│   │   ├── gsl_spmatrix_float.h
│   │   ├── gsl_spmatrix.h
│   │   ├── gsl_spmatrix_int.h
│   │   ├── gsl_spmatrix_long_double.h
│   │   ├── gsl_spmatrix_long.h
│   │   ├── gsl_spmatrix_short.h
│   │   ├── gsl_spmatrix_uchar.h
│   │   ├── gsl_spmatrix_uint.h
│   │   ├── gsl_spmatrix_ulong.h
│   │   ├── gsl_spmatrix_ushort.h
│   │   ├── gsl_statistics_char.h
│   │   ├── gsl_statistics_double.h
│   │   ├── gsl_statistics_float.h
│   │   ├── gsl_statistics.h
│   │   ├── gsl_statistics_int.h
│   │   ├── gsl_statistics_long_double.h
│   │   ├── gsl_statistics_long.h
│   │   ├── gsl_statistics_short.h
│   │   ├── gsl_statistics_uchar.h
│   │   ├── gsl_statistics_uint.h
│   │   ├── gsl_statistics_ulong.h
│   │   ├── gsl_statistics_ushort.h
│   │   ├── gsl_sum.h
│   │   ├── gsl_sys.h
│   │   ├── gsl_test.h
│   │   ├── gsl_types.h
│   │   ├── gsl_vector_char.h
│   │   ├── gsl_vector_complex_double.h
│   │   ├── gsl_vector_complex_float.h
│   │   ├── gsl_vector_complex.h
│   │   ├── gsl_vector_complex_long_double.h
│   │   ├── gsl_vector_double.h
│   │   ├── gsl_vector_float.h
│   │   ├── gsl_vector.h
│   │   ├── gsl_vector_int.h
│   │   ├── gsl_vector_long_double.h
│   │   ├── gsl_vector_long.h
│   │   ├── gsl_vector_short.h
│   │   ├── gsl_vector_uchar.h
│   │   ├── gsl_vector_uint.h
│   │   ├── gsl_vector_ulong.h
│   │   ├── gsl_vector_ushort.h
│   │   ├── gsl_version.h
│   │   ├── gsl_wavelet2d.h
│   │   └── gsl_wavelet.h
│   ├── libpng12
│   │   ├── pngconf.h
│   │   └── png.h
│   ├── lzo
│   │   ├── lzo1a.h
│   │   ├── lzo1b.h
│   │   ├── lzo1c.h
│   │   ├── lzo1f.h
│   │   ├── lzo1.h
│   │   ├── lzo1x.h
│   │   ├── lzo1y.h
│   │   ├── lzo1z.h
│   │   ├── lzo2a.h
│   │   ├── lzo_asm.h
│   │   ├── lzoconf.h
│   │   ├── lzodefs.h
│   │   └── lzoutil.h
│   ├── ocl_icd.h
│   ├── pngconf.h -> libpng12/pngconf.h
│   └── png.h -> libpng12/png.h
├── lib
│   ├── debug
│   ├── libgslcblas.la
│   ├── libgslcblas.so -> libgslcblas.so.0.0.0
│   ├── libgslcblas.so.0 -> libgslcblas.so.0.0.0
│   ├── libgslcblas.so.0.0.0
│   ├── libgsl.la
│   ├── libgsl.so -> libgsl.so.25.0.0
│   ├── libgsl.so.25 -> libgsl.so.25.0.0
│   ├── libgsl.so.25.0.0
│   ├── liblzo2.la
│   ├── liblzo2.so -> liblzo2.so.2.0.0
│   ├── liblzo2.so.2 -> liblzo2.so.2.0.0
│   ├── liblzo2.so.2.0.0
│   ├── libOpenCL.la
│   ├── libOpenCL.so -> libOpenCL.so.1.0.0
│   ├── libOpenCL.so.1 -> libOpenCL.so.1.0.0
│   ├── libOpenCL.so.1.0.0
│   ├── libpng12.la
│   ├── libpng12.so -> libpng12.so.0.59.0
│   ├── libpng12.so.0 -> libpng12.so.0.59.0
│   ├── libpng12.so.0.59.0
│   ├── libpng.la -> libpng12.la
│   ├── libpng.so -> libpng12.so
│   ├── libpng.so.3 -> libpng.so.3.59.0
│   ├── libpng.so.3.59.0
│   └── pkgconfig
│       ├── gsl.pc
│       ├── libpng12.pc
│       ├── libpng.pc -> libpng12.pc
│       ├── lzo2.pc
│       ├── ocl-icd.pc
│       └── OpenCL.pc
├── manifest.json
├── .ref
└── share
    ├── aclocal
    │   └── gsl.m4
    ├── doc
    │   ├── lzo
    │   │   ├── AUTHORS
    │   │   ├── COPYING
    │   │   ├── LZOAPI.TXT
    │   │   ├── LZO.FAQ
    │   │   ├── LZO.TXT
    │   │   ├── NEWS
    │   │   └── THANKS
    │   └── ocl-icd
    │       └── examples
    │           └── ocl_icd_bindings.c
    ├── info
    │   └── gsl-ref.info
    └── man
        ├── man1
        │   ├── gsl-config.1
        │   ├── gsl-histogram.1
        │   └── gsl-randist.1
        ├── man3
        │   ├── gsl.3
        │   ├── libpng.3
        │   └── libpngpf.3
        └── man5
            └── png.5
kevinsmia1939 commented 3 years ago

Hi,

Flathub need an icon 128x128, I see that there are only 256x256 in deploy/share/mandelbulber2/icons/. Could you add the 128x128 icon?

mclarekin commented 3 years ago

@buddhi1980 i have added this, hope it is OK

buddhi1980 commented 3 years ago

@mclarekin Thanks for adding this icon.

kevinsmia1939 commented 3 years ago

@buddhi1980 i have added this, hope it is OK

Hi, How do I go about installing this new icon?

For my Flatpak manifest, I just have this.

      - cd mandelbulber2/qmake && qmake mandelbulber-opencl.pro
      - cd mandelbulber2/qmake && make all
      - cd mandelbulber2 && install -Dm0755 qmake/mandelbulber2 /app/bin/mandelbulber2
      - mkdir -p app/share/mandelbulber2/formula/ app/share/mandelbulber2/opencl/
      - install -Dm0644 mandelbulber2/deploy/share/mandelbulber2/icons/mandelbulber.png app/share/pixmaps/mandelbulber.png
      - install -Dm0644 mandelbulber128.png app/share/pixmaps/mandelbulber128.png
      - mkdir -p app/share/mandelbulber2
      - cp -arv mandelbulber2/deploy/share/mandelbulber2/* app/share/mandelbulber2/
      - cp -arv mandelbulber2/formula/* app/share/mandelbulber2/formula/
      - cp -arv mandelbulber2/opencl/* app/share/mandelbulber2/opencl/
      - install -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.metainfo.xml
kevinsmia1939 commented 3 years ago

Or should I install Mandelbubler with cmake instead?

buddhi1980 commented 3 years ago

install -Dm0644 mandelbulber2/deploy/share/mandelbulber2/icons/mandelbulber128.png app/share/pixmaps/mandelbulber.png

kevinsmia1939 commented 3 years ago

@buddhi1980 Hi, Is the name of this software Mandelbulber or Mandelbulber2 ?

mclarekin commented 3 years ago

Mandelbulber2

On Sat, Apr 10, 2021 at 4:59 AM Kevin Tee @.***> wrote:

@buddhi1980 https://github.com/buddhi1980 Hi, Is the name of this software Mandelbulber or Mandelbulber2 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/buddhi1980/mandelbulber2/issues/832#issuecomment-816820139, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADBNSHEJHJ54PEAJ5OOZT2LTH4W7HANCNFSM4Z64BWBQ .

kevinsmia1939 commented 3 years ago

Thanks @buddhi1980 and @mclarekin Do you have any screenshots that you want to be display in the store front? I found only 3 screenshot from this github home page. I could get it from other users, but ideally it should be from the official source.

buddhi1980 commented 3 years ago

Use one which is on Github page: https://github.com/buddhi1980/mandelbulber2

buddhi1980 commented 3 years ago

Do you need more screenshots?

kevinsmia1939 commented 3 years ago

Do you need more screenshots?

Thanks, but I already add them. There is no need to add more screenshots specifically, but it would be better if you show case some awesome features that you want to show off in the screenshots.

Maybe one or two more.

kevinsmia1939 commented 3 years ago

Mandelbubler added to Flathub!!

https://flathub.org/apps/details/com.github.buddhi1980.mandelbulber2

buddhi1980 commented 3 years ago

Thanks a lot. I will test it next week.