[OpenIndiana-discuss] Upgrade to OI Hipster 2026.10 - xscreensaver rebuild

russell stream at willows7.myzen.co.uk
Fri Nov 13 08:14:30 UTC 2026


Hi

After upgrading to OI Hipster 2026.10 I had not tested all the 
xscreensavers I had installed but checking today found that the majority 
were not working. As I had already downloaded xscreensaver-6.15.tar.gz 
back in July, the rebuild was easy

$ cp xscreensaver-6.15.tar.gz /tmp
$ gzip -d -c xscreensaver-6.15.tar.gz |  gtar xf -
$ pluma /tmp/xscreensaver-6.15/hacks/glx/platonicfolding.c
     in file in function        static inline void 
get_sun_direction(double jd, float sun[4])
     replace float variable name sun with thesun, as shown below and 
save file

static inline void get_sun_direction(double jd, float thesun[4])
{
   double n, utc;
   double l, g, gr, lambda, lambdar, epsilon, epsilonr;
   double alpha, delta, eot, lat, lon;
   float latr, lonr;

   n = jd-2451545.0;
   utc = 24.0*modulo(jd-0.5,1.0);
   l = modulo(280.460+0.9856474*n,360.0);
   g = modulo(357.528+0.9856003*n,360.0);
   gr = rad(g);
   lambda = modulo(l+1.915*sin(gr)+0.020*sin(2.0*gr),360.0);
   epsilon = 23.439-0.0000004*n;
   lambdar = rad(lambda);
   epsilonr = rad(epsilon);
   alpha = 
modulo(deg(atan2(cos(epsilonr)*sin(lambdar),cos(lambdar))),360.0);
   delta = deg(asin(sin(epsilonr)*sin(lambdar)));
   eot = modulo(l-alpha+180.0,360.0)-180.0;
   lat = delta;
   lon = -15.0*(utc-12.0+eot*(4.0/60.0));
   latr = (float)rad(lat);
   lonr = (float)rad(lon);
   thesun[0] = cosf(latr)*cosf(lonr);
   thesun[1] = cosf(latr)*sinf(lonr);
   thesun[2] = sinf(latr);
   thesun[3] = 0.0f;
}


$ cd /tmp/xscreensaver-6.15
$ PATH=/usr/gnu/bin:$PATH ; export PATH
$ ./configure  prefix=/opt/xscreensaver --with-shadow --with-gtk 
--with-glx --with-pthread --with-jpeg --with-png --with-pixbuf 
--with-xft --with-setuid-hacks --with-record-animation
$ gmake
$ su
$ gmake install
$ cp -p  /opt/xscreensaver/libexec/xscreensaver/*             
/usr/lib/xscreensaver/hacks/.
$ cp -p /opt/xscreensaver/share/xscreensaver/config/* 
/usr/lib/xscreensaver/config/control-center-2.0/.

Now when you check your screensaver settings more screensavers are 
available.
I do like alien beacon, battered planet, be still, downfall, drift 
clouds, golden apollian and of course platonic folding.


kind regards

Russell


More information about the openindiana-discuss mailing list