Planet GNU

Aggregation of development blogs from the GNU Project

February 19, 2019

Sylvain Beucler

RenPyWeb - Ren'Py in your HTML5 web browser

I like the Ren'Py project, a popular game engine aimed at Visual Novels - that can also be used as a portable Python environment.

One limitation was that it required downloading games, while nowadays people are used to Flash- or HTML5- based games that play in-browser without having to (de)install.

Can this fixed? While maintaining compatibility with Ren'Py's several DSLs? And without rewriting everything in JavaScript?
Can Emscripten help? While this is a Python/Cython project?
After lots of experimenting, and full-stack patching/contributing, it turns out the answer is yes!

Live demo:
https://renpy.beuc.net/
The Question Tutorial Your game

At last I finished organizing and cleaning-up, published under a permissive free software / open source license, like Python and Ren'Py themselves.
Python port:
https://www.beuc.net/python-emscripten/python/dir?ci=tip
Build system:
https://github.com/renpy/renpyweb

Development in going on, consider supporting the project!
Patreonhttps://www.patreon.com/Beuc

19 February, 2019 06:38PM

Riccardo Mottola

ArcticFox has working DevTools again

The past release of 27.9.15 ArcticFox has the Developer Tools working again, they were broken previously because of excessive work on Private browsing.

You can see them here in full action:


ArcticFox continues the work as a fork of PaleMoon trying to catch up with past releases of FireFox.
It has been succesfully backported up to MacOS 10.6 SnowLeopard, is working reliably on Linux x86, amd64 and PowerPC 32bit and 64bit.

If you like the browser, we need your help!

19 February, 2019 03:46PM by Riccardo (noreply@blogger.com)

February 17, 2019

texinfo @ Savannah

Texinfo 6.6 released

We have released version 6.6 of Texinfo, the GNU documentation format.

It's available via a mirror (xz is much smaller than gz, but gz is available too just in case):

https://ftp.gnu.org/gnu/texinfo/texinfo-6.6.tar.xz
https://ftp.gnu.org/gnu/texinfo/texinfo-6.6.tar.gz

Please send any comments to bug-texinfo@gnu.org.
Full announcement:
http://lists.gnu.org/archive/html/info-gnu/2019-02/msg00004.html

17 February, 2019 09:03AM by Gavin D. Smith

freedink @ Savannah

GNU FreeDink 109.6

Here's a new release of GNU FreeDink :)
https://ftp.gnu.org/gnu/freedink/freedink-109.6.tar.gz
https://www.gnu.org/software/freedink/
https://play.freedink.org/

This is the first official announcement for the new 109.x line with updated technologies (SDL2, OpenGL), WebAssembly support and many fixes and improvements.

About GNU FreeDink:

Dink Smallwood is an adventure/role-playing game, similar to classic Zelda, made by RTsoft. Besides twisted humor, it includes the actual game editor, allowing players to create hundreds of new adventures called Dink Modules or D-Mods for short.

GNU FreeDink is a new and portable version of the game engine, which runs the original game as well as its D-Mods, with close compatibility, under multiple platforms.

17 February, 2019 12:48AM by Sylvain Beucler

February 16, 2019

remotecontrol @ Savannah

2019 Amazon Alexa vs. Google Home

https://www.androidcentral.com/thrifter-deal-honeywell-programmable-7-day-wi-fi-thermostat

Amazon is winning the hardware war with Google for device supremacy in the consumer market. Honeywell is almost giving their Alexa-enabled thermostat device away to customers as a rapid advancement maneuver.

16 February, 2019 12:59PM by Stephen H. Dawson DSL

February 15, 2019

FSF Blogs

What I learned during my internship with the FSF tech team

Hello everyone, I am Hrishikesh, and this is my follow-up blog post concluding my experiences and the work I did during my 3.5 month remote internship with the FSF. During my internship, I worked with the tech team to research and propose replacements for their network monitoring infrastructure.

A few things did not go quite as planned, but a lot of good things that I did not plan happened along the way. For example, I planned to work on GNU LibreJS, but never could find enough time for it. On the other hand, I gained a lot of system administration experience by reading IRC conversations, and by working on my project. I even got to have a brief conversation with RMS!

My mentors, Ian, Andrew, and Ruben, were extremely helpful and understanding throughout my internship. As someone who previously had not worked with a team, I learned a lot about teamwork. Aside from IRC, we interacted weekly in a conference call via phone, and used the FSF's Etherpad instance for live collaborative editing, to take notes.

The first two months were mostly spent studying the FSF's existing Nagios- and Munin-based monitoring and alert system, to understand how it works. The tech team provided two VMs for experimenting with Prometheus and Nagios, which I used throughout the internship. During this time, I also spent a lot of time reading about licenses, and other posts about free software published by the FSF.

My primary tasks involved writing Ansible roles and small Python tools, as well as understanding how Prometheus and its ecosystem worked. I even picked up Golang and started contributing small PRs to the Prometheus project itself.

The final outcome was a documented repository along with all the Ansible roles that are capable of spinning up a fully functional Prometheus server with related tools and configurations specific to the FSF. It's not yet ready to be implemented, but is in a good position to be extended.

Even though this internship is unpaid, I would highly encourage anyone reading this blog post to apply for future internship positions with the FSF tech team because of the knowledge value it provides.

I would like to thank the FSF for providing me this internship, and hope that my work will extend their current network monitoring systems into the future.

Interested in interning for the Free Software Foundation? The application period for summer 2019 internships is open until March 31, 2019 -- see details here.

15 February, 2019 10:06PM

February 14, 2019

Dating is a free software issue

I've been making the argument that everything is a free software issue for a few months now. Back in November, I was lucky enough to speak at SeaGL and SFSCon, specifically on the issues proprietary technology poses in dating and maintaining romantic relationships.

I've been thinking about this since then -- the issues and infringements on user freedom we face when using technology to meet people, date, and fall in love. I think Valentine's Day is the perfect opportunity to share just some of these thoughts I've been having.

Meeting people

Many dating Web sites run proprietary JavaScript. JavaScript is code that Web sites run on your computer in order to make certain features on Web sites function. Proprietary JavaScript is a trap that impacts your ability to run a free system, and not only does it sneak proprietary software onto your machine, but it also poses a security risk. Any piece of software can be malicious, but proprietary JavaScript goes the extra mile. Much of the JavaScript you encounter runs automatically when you load a Web site, which enables it to attack you without you even noticing.

Proprietary JavaScript doesn't have to be the only way to use Web sites. LibreJS is an initiative which blocks "nonfree nontrivial" JavaScript while allowing JavaScript that is either free or trivial.

Many dating apps are also proprietary, available only at the Apple App and Google Play stores, both of which currently require the use of proprietary software.

Going out

When it's time to meet your online date in person, or spend time together with the person you're dating, more proprietary software is ready to crash the party, whether you're going out or staying in. Many restaurants run reservations entirely through Web sites, using software and JavaScript that is proprietary. Using ride sharing apps like Uber to get around puts users and drivers alike at all sorts of risks. Or, if you decide to have a romantic evening at home, you might find yourself tempted by freedom disrespecting, DRM-supporting streaming services like Hulu and Netflix.

DRM is an oppressive technology, prevalent among downloadable, online, and streaming media. It restricts your ability to use, reuse, modify, share, and really own the media you purchase. There are practical damages DRM causes: it prevents modifying media for accessibility needs; it keeps people from being able to access their media whenever they want or need to; and it stifles creativity through the prevention of re-use. However, most importantly, the type of control enabled by DRM infringes on your freedoms.

Luckily, there are DRM-free media options available to you. Whether you want to find movies, listen to music, or curl up and read together, there is the perfect DRM-free choice available now.

A few other points

There are lots of computing technologies people use to maintain our relationships, whether romantic, familial, or platonic. They share online calendars, they use Web sites like Amazon to purchase and send presents, and they use apps like Snapchat, WhatsApp, and Facebook Messenger to connect with one another every day. These are all proprietary tools, and the act of using them restricts our freedoms.

When the ways we connect with one another are proprietary, we're trusting our secrets, intimacies, and relationships to technology we cannot trust. Software freedom is a necessary step in building trust in our computing technologies. When code is visible, the people who create that code are accountable, but also we have the rights to use, share, study and modify, and share our modifications with one another.

Software freedom is important in all aspects of our life, and that includes romance. By valuing freedom in our relationships, we're not only respecting ourselves, but we're respecting the people with whom we have those relationships.

14 February, 2019 07:57PM

February 13, 2019

Show your love for free software this Valentine’s Day!

Free software is crucial for a free society, and we love being able to use technology that respects our rights. Spread the love this Valentine’s Day and spread the word about free software by sharing this graphic, which invites your friends and family to learn more about computer user freedom, with the hashtag #ilovefs:

free software valentine -- pic of computer with big smile and hearts for eyes, says i heart free software

Want to take your relationship with software freedom, security, and privacy to the next level? Ask a friend or loved one to be your cryptovalentine! It’s a great opportunity to teach the importance of encrypted communication AND to help someone you care about secure their communication from prying eyes.

13 February, 2019 08:17PM

February 12, 2019

health @ Savannah

GNU Health Federation Information System moves from MongoDB to PostgreSQL

Dear all

Thalamus is one of the components of the GNU Health project. It is the GNU Health Federation message and authentication server, and currently connects to MongoDB to manage the demographics and health data from all the participating nodes of the Federation.

As you may know, by the end of 2018, MongoDB decided to change license of the server to their Server Side Public License (SSPL)
(https://www.mongodb.com/blog/post/mongodb-now-released-under-the-server-side-public-license)

Due to the license change in MongoDB, many GNU/Linux distributions are no longer including the mongodb server (see references)

SSPL has not gotten the approval from OSI, and the Free Software Foundation is still reviewing it, but they have expressed concerns.

Versions of MongoDB server previous to October 2018 are still on GPL v3, but, sadly, MongoDB will no longer maintain them. No bugs fixes or security patches will be provided under this GPL license.

The combination of license change, rejection of large part of the Libre software community and the immediate end of support from GPL versions of MongoDB forced us to look for an alternative fast. I have taken the decision to move to a community-based platform that delivers the current GNU Health Federation functionality.

In this context, after evaluating different possibilities and listening to the community, I have chosen PostgreSQL to interact with Thalamus. PostgreSQL is a solid, community-based database server. The recent JSON(B) support provides the flexibility and scalability found in document oriented engines.

GNU Health has been using PostgreSQL since 2008 for its Hospital Management System functionality, so we are familiar with it. We are excited and looking forward to adopting PostgreSQL as our Person Master Index and Health Information System.

Development of the upcoming Thalamus server supporting PostreSQL has already started, and technical documentation will be updated accordingly.

All the best
--
Dr. Luis Falcon, M.D., BSc
President, GNU Solidario
GNU Health: Freedom and Equity in Healthcare
http://health.gnu.org
GPG Fingerprint :ACBF C80F C891 631C 68AA 8DC8 C015 E1AE 0098 9199

References:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915537#15
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/IQIOBOGWJ247JGKX2WD6N27TZNZZNM6C/
https://bugzilla.opensuse.org/show_bug.cgi?id=1122267

12 February, 2019 10:18PM by Luis Falcon

February 11, 2019

FSF News

FSF Fiscal Year 2017 Annual Report now available

The report is viewable as a Web site or high resolution PDF.

The Annual Report reviews the FSF's activities, accomplishments, and financial picture from October 1, 2016 to September 30, 2017. It is the result of a full external financial audit, along with a focused study of program results. It examines the impact of the FSF's events, programs, and activities, including the annual LibrePlanet conference, the Respects Your Freedom (RYF) hardware certification program, and the fight against Digital Restrictions Management (DRM).

"Software filters the information we receive about the world, the messages we put out into the world, and even the way we physically move in the world," said FSF executive director John Sullivan in his introduction to the FY2017 report. "If the software is not free 'as in freedom'... the consequences for the rest of us will be loss of democracy, privacy, security, freedom of speech, freedom of movement -- and even loss of life."

The FSF publishes its financials and annual report as part of their commitment to transparency. Along with its strong financial health, accountability and transparency are the reasons the FSF is a Charity Navigator Four Star Charity.

As with all of the Foundation's activities, the Annual Report was made using free software, including Pelican, Scribus, GIMP, and Inkscape, along with freely licensed fonts and images. If you would like a printed copy of the Annual Report, or have any questions or comments, please email campaigns@fsf.org.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to run, change, share, and contribute to computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

Media Contact

Molly de Blanc
Campaigns Manager
Free Software Foundation
+1 (617) 542 5942
campaigns@fsf.org

11 February, 2019 07:25PM

February 08, 2019

Christopher Allan Webber

Libre Lounge

Did I somehow not blog here that I started co-hosting a podcast named Libre Lounge with my friend Serge Wroclawski? We're talking about all sorts of topics facing user freedom. Take a look at the archive and you might find something you like!

At the time of writing we've also had on one guest, Karen Sandler. This was a really nice treat since the show Free as in Freedom, which Karen co-hosts, is clearly a big influence on Libre Lounge. Anyway, we plan to have on lots more guests in the future.

Hope you enjoy!

08 February, 2019 02:13PM by Christopher Lemmer Webber

February 07, 2019

Riccardo Mottola

GIMP 2.10.6 working on MacOS Leopard!

My white MacBook is a perfectly fine computer, has an excellent screen and keyboard (superior to later models I have) so even if it is running a legacy OS version, I'd love to continue using it and, perhaps, other of you are in the same situation.

Besides ArcticFox (which I got running on 10.6, but not on 10.5 yet) and various developer tools, the most essential tool I like to have is GIMP, also given the excellent LCD this Laptop has.

Some work from macports to get up-to-date tools and dependent libraries, I patched its package.

Little work was needed in GIMP itself, I shared all the patches upstream and I hope they will be accepted. The remaining issues are in GEGL, but different solutions are available: essentially realpath doesn't like a null argument.

Enjoy this screenshot as a proof.



Next question: will it work on PowerPC too? I hope so! Getting GIMP to work on 10.5 opens this possibility.

P.S.: this post was written directly on the MacBook i386 using TenFourFox running natively on Intel!

07 February, 2019 10:56PM by Riccardo (noreply@blogger.com)

FSF News

Vikings D8 Mainboard and D8 Workstation now FSF-certified to Respect Your Freedom

D8 workstation Image

These are the [fourth and fifth devices] from Vikings to receive RYF certification. The Vikings D8 Mainboard is an ASUS KCMA-D8 that comes with Trisquel GNU/Linux. Like the previously certified Vikings D16, it is a powerful mainboard suitable for use as a workstation or server. The Vikings D8 Workstation brings the D8 Mainboard together with a variety of options to provide a robust workstation for users. Both are available for purchase at https://store.vikings.net.

"The more options users have for RYF-certified mainboards, the easier it is for them to build a machine that is completely under their control. Having an already assembled workstation available as an option is also a great improvement to the program. This is an area in which we hope to see continued growth, so that every user can get what they want when it comes to a server or workstation," said the FSF's licensing and compliance manager, Donald Robertson, III.

Vikings received their first three certifications in spring of 2017, and has steadily worked to continue offering new RYF-certifiable devices.

"When we announced the first certifications for Vikings we knew they would be back soon with even more. Vikings is building an impressive lineup of freedom-respecting hardware and we're excited to see the D8 Mainboard and Workstation as their latest additions," said the FSF's executive director, John Sullivan.

"The Vikings Store is dedicated to helping users purchase ready to go, libre-friendly systems. Together with the Free Software Foundation, we have put a lot of effort into offering a high-performance, owner-controllable system at an affordable price. This machine is aimed at the security-conscious, as well as users who prefer a computer that runs free software from the ground up as an ethical choice. That is why we are pleased to see the Vikings D8 Workstation receive RYF certification. We would like to thank Timothy Pearson of Raptor Engineering, Inc. for their reverse engineering and porting work which laid the very foundation for making this possible," said Vikings CEO Thomas Umbach.

To learn more about the Respects Your Freedom certification program, including details on the certification of the Vikings D8 Workstation and Mainboard, please visit https://fsf.org/ryf.

Hardware sellers interested in applying for certification can consult https://www.fsf.org/resources/hw/endorsement/criteria.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

About Vikings

Vikings ships libre-friendly hardware world-wide and has an ever-growing number of FSF RYF certfified devices that truly respects your freedom. Vikings is also the world's first libre-friendly hosting company running on fully libre hosting software and a libre-friendly and owner-controllable hardware platform. All services are based on 100% libre software and are powered by 100% certified green energy.

Media Contacts

Donald Robertson, III
Licensing and Compliance Manager
Free Software Foundation
+1 (617) 542 5942
licensing@fsf.org

Vikings GmbH
Thomas Umbach
+49 69 247 54 91 0
hello@vikings.net
https://www.vikings.net/
https://store.vikings.net/

Updated on February 11th, 2019, to correct some details.

Image by Vikings GmbH is licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication license.

07 February, 2019 08:25PM

GNU Guix

QA on non-Intel at Guix Days

During the second day of Guix Days (a FOSDEM fringe event) we split up into smaller working groups based on our areas of interest. I led a group which aimed to address some of the package issues which exist on non-Intel architectures. Of course not everyone has access to an ARM board, but with the qemu-binfmt-service service it is possible to use QEMU and the binfmt_misc functionality of the Linux kernel to emulate these systems. Many have reported that this system emulation is comparable in speed to many of the available ARM boards on the market. Yet another possibility would be to do the hacking on an x86_64 system and, when we had a working prototype, to test it with QEMU or on actual ARM hardware.

Our group decided to tackle Go, which was lacking support in Guix on armhf and aarch64. Upon checking the build logs from Cuirass and the source code for Go we determined that Go did indeed require the gold linker from the GNU Binutils. We didn't want to modify the copy of Binutils in Guix since it is part of our bootstrap story, so we quickly put together a new package definition which added the configure flag to enable gold.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons "--enable-gold=default" ,flags))))))

This was an obvious first step, and one which we knew would fail. Had it been this easy gold would have been enabled back in 2012 when it was first added. Our error came in the form of one of the binaries not being able to link against libstdc++.so, which is in the gcc:lib output. This was quickly added and we were off and building again.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons "--enable-gold=default" ,flags))))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Once again this failed. What were we missing? The correct paths were included, the file was indeed in the gcc:lib output. We inspected the original binutils package again noticed that it was built against a static libgcc, so of course it wouldn't find the shared library. In order to work quickly we copied the configure flags rather than inheriting them from binutils and tried our build again.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons* "--enable-gold=default"
                "--enable-new-dtags"
                "--with-lib-path=/no-ld-lib-path"
                "--enable-install-libbfd"
                "--enable-deterministic-archives"))))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

This time we made it through the full build phase and we knew we were almost there. Our enthusiasm was quickly dampened when we got the error during the tests: unable to find the 'dc' program. What is this dc program? This isn't any package any of us had heard of before. It definitely wasn't packaged in Guix. A quick apt-cache search dc search in Ubuntu showed they didn't have package either. A second search of Ubuntu, apt-file search dc | grep '/bin/dc' quickly showed us it was in the bc package, and soon we were building binutils-gold again.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons* "--enable-gold=default"
                "--enable-new-dtags"
                "--with-lib-path=/no-ld-lib-path"
                "--enable-install-libbfd"
                "--enable-deterministic-archives"))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Approaching the end of the check phase we soon ran into another error, there was an unpatched /bin/sh somewhere in the source code which was generated during the check phase. Based on the build logs we were able to track down approximately where the code should be, so we downloaded the source tar xf $(guix build --source binutils) and started looking. There were many obvious /bin/sh calls which we cross-referenced with the build logs and the patch-source-shebangs phase, and this left us with some code in gold/Makefile.in, which by default is not included in the patch-source-shebangs and would need to be fixed manually.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                  "--enable-new-dtags"
                  "--with-lib-path=/no-ld-lib-path"
                  "--enable-install-libbfd"
                  "--enable-deterministic-archives")))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

One more build cycle later and we did it! /gnu/store/…-binutils-gold-2.31.1 existed! We now did two things, we copied our patch over to an aarch64 build machine and we started cleaning up our package definition on our x86_64 build machine, where we knew we had a working package definition.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                  (delete "LDFLAGS=-static-libgcc" ,flags))))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Fortunately for us the changes in the code worked on x86_64 and we still got a working binutils-gold output. On our aarch64 side the build was progressing nicely and everything seemed fine... until we suddenly were presented with big red errors about unrelocatable code. How could it? Everything was working so well! Undeterred, we built the source again, this time targeting armhf and were unfortunately presented with similar errors. Deciding to address the test failures later (It's ARM! It's not as well tested as other architectures! Right?) we disabled the tests and unsurprisingly binutils-gold built on both aarch64 and armhf.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ((#:tests? _ #f) #f)
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                  (delete "LDFLAGS=-static-libgcc" ,flags))))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Now for the real test. Due to bootstrapping issues with Go and aarch64, aarch64 uses Go@1.4 built for armhf. Go@1.11 failed to build until now because it was missing the gold linker. Surely using the gold linker would be a good test if our package worked. Since Go for aarch64 is 'more complex' due to the bootstrapping using armhf's Go, we decided to test armhf first. binutils-gold was added and our build started.

    (native-inputs
     `(("go" ,go-1.4)
+      ,@(match (%current-system)
+          ((or "armhf-linux" "aarch64-linux")
+           `(("gold" ,binutils-gold)))
+          (_ `()))
       ,@(package-native-inputs go-1.4)))

First build, success! /gnu/store/…-go-1.11.5 exists! OK, but does it actually work? guix build syncthing --system=armhf-linux. /gnu/store/…-syncthing-1.0.0 exists too! A quick check of guix refresh --list-dependent go@1.4 showed that we had unlocked 176 new packages for armhf. Even better, since they had all failed by default due to go@1.11 failing to build, for each package that did build meant one fewer package which failed to build which should take a big bite out of our build failures.

Our next test was syncthing for aarch64. /gnu/store/…-go-1.11.5 exists! /gnu/store/…-syncthing-1.0.0 ... does not. "unknown architecture 'armv7-a'." It seems that Go is confused which architecture it is building for. Unfortunately we were reaching the end of our time for hacking, so that will have to wait for another day. All that was left now was the test failures on binutils-gold for the ARM systems. Some attempts at cargo-culting other code failed (per-architecture tests we had and overriding flags in substitute-keyword-arguments we had, but not together), but after some attempts we were able to create a working package definition we were happy with.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ; Upstream is aware of unrelocatable test failures on arm*.
         ((#:tests? _ #f)
          (if (any (cute string-prefix? <> (or (%current-target-system)
                                               (%current-system)))
                   '("i686" "x86_64"))
              '#t '#f))
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                 (delete "LDFLAGS=-static-libgcc" ,flags))))))
     (native-inputs
      `(("bc" ,bc)))
     (inputs
      `(("gcc:lib" ,gcc "lib")))))

This patch was pushed to the master branch as 28317d499034b00cf1f08a9efd39bd2bc3425b19, and the commit following uses it as a native-input for Go@1.9 and Go@1.11. Go@1.4 was added in June 2016 and Go@1.6 that August, with our first go packages being added in October 2017. That same October Go@1.4 had support limited to Intel and armhf and in October 2018, in an effort to work toward a resolution, a patch was added to have aarch64 use Go@1.4 built for armhf for it's bootstrap path. Basically since the addition of the Go language support into Guix there was not a time when it was usable on armhf or aarch64. Hopefully we will soon finish getting full Go support on aarch64 and we can move all 352 dependents of Go@1.4 from "failing" to "succeeding" and have these architectures better supported.

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

07 February, 2019 08:30AM by Efraim Flashner

February 01, 2019

Christopher Allan Webber

I've been awarded the Samsung Stack Zero Grant

Good news everyone! I've been awarded the Samsung Stack Zero Grant. But why not quote them?

Christopher Lemmer Webber is the co-editor and co-author of the now-ubiquitous ActivityPub protocol. While it provides a great framework for creating, updating, and deleting content across applications, it doesn’t provide any standardised mechanism for secure authorisation. With Spritely, Webber will work on extending the protocol in a backward-compatible manner, while at the same time building tools and applications that showcase its use. This will enable developers to build applications that enable richer interactions through a federated standard.

This should fund my next couple of years of work on full time advancement of the fediverse.

You may remember that I've talked about Spritely before. In fact I am finally in launch-mode... I am currently sitting in a wizard's tower at a hackathon, getting out the first release of Golem, a Spritely artifact.

Anyway, I'll be at FOSDEM 2019 giving a talk and on a panel. And after that I'll be speaking at CopyleftConf. Maybe I'll see you?

More news soon...

01 February, 2019 12:26AM by Christopher Lemmer Webber

January 29, 2019

FSF Events

John Sullivan - " 'Just don't buy it': Consumer choices in free software activism" (Pasadena, CA)

FSF executive director John Sullivan will be giving his speech “ ‘Just don't buy it’: Consumer choices in free software activism” at SCALE (2019-03-07–10):

Movement activism often focuses on economic decisions. Buy this ethically made product; don't buy that one made by a company that funds terrible things. In free software, we encourage people to boycott (for example) Microsoft, and to instead support companies who sell machines with GNU/Linux.

It's an intuitive idea that, as individuals wanting to make the world better, we should use our willingness to spend or not spend money to reward those who do right and punish those who do wrong. Throughout history, this has sometimes been effective. But how effective? Can it be dangerous?

There is a danger of reducing activism and social change strategy to these decisions. We see this in the free software movement, when some activist campaigns aimed at persuading people to stop using proprietary software are met with responses like, “If you don't like Apple products, just don't buy them. Help make free products that are better than theirs. Why campaign against them?” or “How can you criticize proprietary software but still drive a car that has it?”

As an advocate, have you ever heard these responses, or felt like a hypocrite, or stumbled trying to explain to others why the situation is more complicated than “just don't buy it”?

How do we form a holistic movement strategy for advancing user freedom that takes consumer activism as far as possible, without overprioritizing it?

I hope those interested in effectively fighting for user freedom will join me as I share thoughts formed from 16 years of experience working on the Free Software Foundation's advocacy efforts, against the backdrop of some highlights from the history of other social movements.

Location: Ballroom H, Pasadena Convention Center, 300 E Green St Pasadena, CA 91101

We hope you can attend the speech, or meet John at the conference.

Please fill out our contact form, so that we can contact you about future events in and around Pasadena.

29 January, 2019 01:55PM

GNU Guile

GNU Guile at FOSDEM

GNU Guile will be present this year again at FOSDEM, which is just a few days away. The Guiler’s lair this time (in addition to the Guix Days right before FOSDEM for some of us!) will be the minimalist languages track. Among the great talks this Saturday, don’t miss:

We’re looking forward to meeting you in Brussels!

29 January, 2019 01:50PM by Ludovic Courtès (guile-devel@gnu.org)

January 28, 2019

FSF Blogs

GNU Spotlight with Mike Gerwitz: 22 new GNU releases!

For announcements of most new GNU releases, subscribe to the info-gnu mailing list: https://lists.gnu.org/mailman/listinfo/info-gnu.

To download: nearly all GNU software is available from https://ftp.gnu.org/gnu/, or preferably one of its mirrors from https://www.gnu.org/prep/ftp.html. You can use the URL https://ftpmirror.gnu.org/ to be automatically redirected to a (hopefully) nearby and up-to-date mirror.

A number of GNU packages, as well as the GNU operating system as a whole, are looking for maintainers and other assistance: please see https://www.gnu.org/server/takeaction.html#unmaint if you'd like to help. The general page on how to help GNU is at https://www.gnu.org/help/help.html.

If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.

As always, please feel free to write to us at maintainers@gnu.org with any GNUish questions or suggestions for future installments.

28 January, 2019 08:41PM

GNU Guix

Meet Guix at FOSDEM

As usual, GNU Guix will be present at FOSDEM in the coming days with a couple of talks:

The minimalist languages track will also feature talks about GNU Guile and about Racket that you should not miss under any circumstances!

Guix Days logo.

For the second time, we are also organizing the Guix Days as a FOSDEM fringe event, a two-day Guix workshop where contributors and enthusiasts will meet. The workshop takes place on Thursday Jan. 31st and Friday Feb. 1st at the Institute of Cultural Affairs (ICAB) in Brussels.

This year there will be few talks; instead, the event will consist primarily of “unconference-style” sessions focused on specific hot topics about Guix, the Shepherd, continuous integration, and related tools and workflows. We are also happy to welcome fellow Nix hackers, which should allow us to develop cross-distro cooperation.

Attendance to the workshop is free and open to everyone, though you are invited to register (there are only a few seats left!). Check out the workshop’s wiki page for registration and practical info. Hope to see you in Brussels!

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

28 January, 2019 11:00AM by Ludovic Courtès

January 26, 2019

bison @ Savannah

Bison 3.3 released [stable]

We are very happy to announce the release of Bison 3.3!

The new option --update replaces deprecated features with their modern
spelling, but also applies fixes such as eliminating duplicate directives,
etc. It is now possible to annotate rules with their number of expected
conflicts. Bison can be made relocatable. The symbol declaration syntax
was overhauled, and in particular, %nterm, that exists since the origins of
Bison, is now an officially supported (and documented!) feature. C++
parsers now feature genuine symbol constructors, and use noexcept/constexpr.
The GLR parsers in C++ now support the syntax_error exceptions. There are
also many smaller improvements, including a fix for a bug which is at least
31 years old.

Please see the NEWS below for more details.

Many thanks to Askar Safin, Derek Clegg, Étienne Renault, Frank Heckenbach,
Rici Lake, Wolfgang Thaller and the members of the Bison mailing lists for
their feedback during the development of this version.

Here are the compressed sources:
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.gz (4.1MB)
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.xz (2.1MB)

Here are the GPG detached signatures[*]:
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.gz.sig
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.xz.sig

Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:

gpg --verify bison-3.3.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys 0DDCAA3278D5264E

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.16.1
Flex 2.6.4
Gettext 0.19.8.1
Gnulib v0.1-2382-g34881aff4

NEWS

26 January, 2019 02:15PM by Akim Demaille

January 25, 2019

FSF Blogs

Licensing and Compliance Lab: The most frequently asked Frequently Asked Questions

The FSF Licensing and Compliance Lab is committed to helping free software developers around the world with their questions sent to licensing@fsf.org. Our primary goal is to support what we believe is the best legal tool we have for protecting the rights of users, copyleft. The Lab works toward that goal by offering licensing education, running certification programs like Respects Your Freedom, providing license compliance and enforcement for the GNU Project, and fielding licensing questions from the free software community.

In the course of this work, we often refer back to questions in the comprehensive Frequently Asked Questions about the GNU Licenses (FAQ). The FAQ is quite long, with over 150 questions. Looking at the Licensing and Compliance Lab's email referrals to the FAQ can help us gauge the questions that are the most frequent, or perhaps the most confusing. We'd like to share some of the insights we've gathered in our work to make our licensing resources as effective as possible. I amassed all the referrals to FAQ questions made by the Compliance Lab from the past 17 years in order to get a better understanding of what types of questions we field the most. This article will provide an overview of the most frequently referenced FAQ topics, and provide clarification and additional resources for more encumbered scenarios.

graph showing distribution of frequency of FAQ references

Distribution of Frequency of FAQ References

Unsurprisingly, we see a long-tailed distribution. Worded differently, we see great inequality in the number of references to FAQ questions. The top 20 most referred to questions (included below) account for over 60% of the references. The single most referenced question, on incompatible libraries, accounts for over 10% of all references. This question deals with using incompatible libraries with GNU General Public License (GPL) software. The solution, as outlined in the FAQ: If you want your GPLed program to link against a library not covered by the system library exception, you need to provide permission to do that. The FAQ then gives examples on how to explicitly provide that permission.

Though only accounting for a fifth of the FAQ, questions about combining work with code released under the GNU licenses account for about half of the lab’s references, making combining work the most frequently referenced topic. Richard Stallman published an excellent licensing guide on gnu.org regarding license compatibility and relicensing at https://www.gnu.org/licenses/license-compatibility.html. As Stallman states, "In general we say that several licenses are compatible if there is a way to merge code under those various licenses while complying with all of them." Even where two licenses are crafted in a such a way that they cannot naturally be combined, however, explicit relicensing provisions can enable code combinations that otherwise wouldn't be permitted. The linked article covers many such questions of compatibility in further detail, and we encourage you to give it a read when researching potential compatibility concerns.

Private use questions are quite common as well. The GPLv3 introduced explicit language guaranteeing the freedom to privately modify and run the covered work in order to alleviate ambiguity. Previously, in the GPLv2, such freedoms were regarded as implicit. Additionally, I’d like to highlight that the GPLv3 contains an explicit contractors' provision, permitting companies to give GPLed works to contractors operating exclusively on the companies' behalf. One concern the Compliance Lab regularly sees regards making copies of GPLed programs within a company, and whether such internal copying triggers the copyleft distribution clauses. The short answer is no. The FAQ goes on to explain: “The organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders. However, when the organization transfers copies to other organizations or individuals, that is distribution."

We continue to receive a multitude of questions concerning the output of GPLed programs. This is understandably a point of concern, as much of today's software and multimedia is produced using other software. As explained in the FAQ, “The output of a program is not, in general, covered by the copyright on the code of the program... The exception would be when the program displays a full screen of text and/or art that comes from the program. Then the copyright on that text and/or art covers the output." The GNU Compiler Collection (GCC) is one such example of this exception because portions of its GPLed source code can be included in a compiled program (GCC's output). That’s why its license includes the (aptly named) GCC runtime library exception. As explained in the exceptions preamble, "When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.”

We used to see a lot of questions concerning the perceived differences of the copyleft provisions in the GPL between static linking and dynamic linking. Explained succinctly in the FAQ: “Linking [some program] ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination.” Satisfyingly, questions of this nature have been on the decline as the community continues to debunk this false dichotomy.

The FSF Licensing and Compliance Lab is proud to support free software activists worldwide. Providing resources for developers, hobbyists, and users, in addition to legal professionals, allows us to better spread the ideals of free software. These resources help build a common understanding of copyleft and encourage best practices in software licensing, helping the legal system work more smoothly for everyone. As always, we continue to welcome your questions sent to licensing@fsf.org. Resources like the FAQ and articles like this are made possible by your support. Here's what you can do to help continue and improve our educational resources:

The top 20 most referenced FAQ questions

  1. What legal issues come up if I use GPL-incompatible libraries with GPL software?
  2. What is the difference between an “aggregate” and other kinds of “modified versions”?
  3. A company is running a modified version of a GPLed program on a Web site. Does the GPL say they must release their modified sources?
  4. Does the GPL require that source code of modified versions be posted to the public?
  5. If I write a plug-in to use with a GPL-covered program, what requirements does that impose on the licenses I can use for distributing my plug-in?
  6. What does it mean to say a license is “compatible with the GPL?”
  7. Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free?
  8. Can I use GPL-covered editors such as GNU Emacs to develop nonfree programs? Can I use GPL-covered tools such as GCC to compile them?
  9. Does the GPL allow me to sell copies of the program for money?
  10. What does it mean to say that two licenses are “compatible”?
  11. I'd like to incorporate GPL-covered software in my proprietary system. I have no permission to use that software except what the GPL gives me. Can I do this?
  12. Can I write free software that uses nonfree libraries?
  13. How are the various GNU licenses compatible with each other?
  14. I have written an application that links with many different components, that have different licenses. I am very confused as to what licensing requirements are placed on my program. Can you please tell me what licenses I may use?
  15. Can I release a nonfree program that's designed to load a GPL-covered plug-in?
  16. If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses?
  17. How can I allow linking of proprietary modules with my GPL-covered library under a controlled interface only?
  18. Is making and using multiple copies within one organization or company “distribution”?
  19. Can I apply the GPL when writing a plug-in for a nonfree program?
  20. Can I modify the GPL and make a modified license?

Graph by Jake Glass, FSF intern. This image is licensed under an Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

25 January, 2019 05:10PM

freeipmi @ Savannah

FreeIPMI 1.6.3 Released

http://ftp.gnu.org/gnu/freeipmi/freeipmi-1.6.3.tar.gz

FreeIPMI 1.6.3 - 01/23/19
-------------------------
o In ipmi-locate, support parsing SPMI tables exported via sysfs.
o Support Intel S2600GZ OEM sensor and SEL events.
o Support Intel S2600WP OEM sensor and SEL events.
o Support Gigabyte MG20-OP0-ZB OEM SEL events.
o Fix DISCRETE_READING workaround in libipmimonitoring.
o In libfreeipmi, add workaround for packets that are re-ordered
during sensor bridging.
o Minor bug fixes.
o Various documentation updates/fixes.

25 January, 2019 12:24AM by Albert Chu

January 21, 2019

parallel @ Savannah

GNU Parallel 20190122 ('Shutdown') released

GNU Parallel 20190122 ('Shutdown') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Quote of the month:

Ok! GNU Parallel is one of the best things out there. Almost as good as vanilla ice cream.
-- @coffe@mastodon.art

New in this release:

  • 'env_parallel --end-session' makes it possible to nest 'env_parallel --session'
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

21 January, 2019 02:44AM by Ole Tange

January 20, 2019

freedink @ Savannah

New FreeDink game data release

Here's a new release of freedink-data :)
https://ftp.gnu.org/gnu/freedink/freedink-data-1.08.20190120.tar.gz

It adds 4 new sounds replacements, 1 update sound, 1 new translation and 2 updated translations.

About GNU FreeDink:

Dink Smallwood is an adventure/role-playing game, similar to Zelda, made by RTsoft. Besides twisted humor, it includes the actual game editor, allowing players to create hundreds of new adventures called Dink Modules or D-Mods for short.

GNU FreeDink is a new and portable version of the game engine, which runs the original game as well as its D-Mods, with close
compatibility, under multiple platforms.

freedink-data contains the original game story, along with free sound and music replacements.
Your help is welcome to fill the gap!
https://www.gnu.org/software/freedink/doc/sounds/

20 January, 2019 05:18PM by Sylvain Beucler

January 16, 2019

FSF Events

John Sullivan - "" (Copyleftconf, Brussels, Belgium)

FSF executive director John Sullivan will be speaking at CopyleftConf (2019-02-04):

User freedom is being trampled by JavaScript. Can't copyleft help here as it has in other areas? Copyleft's traditional requirements have been seen as ill-suited. We'll talk about what's happened, what the future holds for copyleft here, and a little about how these challenges relate to the broader issue of copyleft's relevance to users' freedom while interacting with network services.

Even with no nonfree packages installed, most users are running nonfree software constantly, in the form of proprietary JavaScript executed on their local machines as they interact with the Web. Much of it doesn't have to be nonfree, because it is available elsewhere under a lax permissive license. But it is almost always distributed to users in minified, unreadable form, with no license notice or source code. Other JavaScript is intentionally unfree, and too often up to no good—invading privacy, enforcing Digital Restrictions Management (DRM), making Web sites defective by design.

Traditional requirements of copyleft licenses, like providing a copy of the license with the software, and including the source code or an offer of how to get it, have been seen as onerous or ill-suited in the context of JavaScript. The Free Software Foundation has proposed and implemented licensing metadata methods by which JavaScript that is intended to be free software can clearly say so, and therefore actually respect the freedom of its users. This is the first step in compliant and realistic distribution of copyleft-licensed JavaScript, as well as a step toward allowing free software users to run only free software inside the browser as they do outside the browser.

Since the guidelines were announced in 2012, the problem has gotten much worse. We'll talk about what's happened, what the future holds for copyleft in this space, and a little about how the challenges in this area relate to the broader issue of copyleft's relevance to users' freedom while interacting with network services.

Location: DigitYser, Boulevard d’Anvers 40, 1000 Bruxelles, Belgium

We hope you can attend the speech, or meet John at the conference.

Please fill out our contact form, so that we can contact you about future events in and around Brussels.

16 January, 2019 02:35PM

Parabola GNU/Linux-libre

caution regarding the 'libidn2' package with systemd

if you are using systemd (the default parabola system) and have the 'libidn2' package installed, upgrading it could break your system until the next version of systemd is in the repos

if this has already happened to you, here is a temporary work-around:

sudo ln -s /usr/lib/libidn2.so /usr/lib/libidn2.so.0

refer to this bug report for follow-ups: https://labs.parabola.nu/issues/2139

16 January, 2019 03:44AM by bill auger

January 15, 2019

FSF Events

Richard Stallman - "A Free Digital Society" (Mandya, India)

There are many threats to freedom in the digital society. They include massive surveillance, censorship, digital handcuffs, nonfree software that controls users, and the War on Sharing. Other threats come from use of web services. Finally, we have no positive right to do anything in the Internet; every activity is precarious, and can continue only as long as companies are willing to cooperate with it.

Richard Stallman will be inaugurating FSMKCamps (2019-01-20–24), a workshop organized by Free Software Movement Karnataka. His speech will be nontechnical, admission to it is gratis, and the public is encouraged to attend.

Location: PES (People's Education Society College of Engineering) College of Engineering, Mandya, Karnataka

Please fill out our contact form, so that we can contact you about future events in and around Mandya.

15 January, 2019 12:18PM

January 09, 2019

John Sullivan - "JavaScript: If you love it, set it free" (FOSDEM, Brussels, Belgium)

FSF executive director John Sullivan will be giving his speech “JavaScript: If you love it, set it free” at (2019-02-02–03):

The vast majority of JavaScript carries no license or copyright notice at all, often because of concerns about optimizing bandwidth and speed, but also because of a lack of awareness. As JavaScript developers, you are well-positioned to help solve this problem -- by clearly licensing your code, by making improvements to the common tooling, and by providing important feedback on what licensing methods make the most sense.

The lack of clear licensing info, especially when combined with minification, makes most JavaScript proprietary for the users who receive and execute it in their browsers, even if the source code is available elsewhere on the Internet in some repository under a free license. The lack also means rampant license violations, for both permissively and reciprocally licensed code. The Free Software Foundation has proposed and implemented a couple of licensing metadata methods by which JavaScript which is intended to be free software can clearly say so, and therefore actually respect the freedom of its users. This is the first step in compliant and realistic distribution of copyleft-licensed JavaScript, as well as a step toward allowing free software users to run only free software inside the browser as they do outside the browser. Other approaches have been proposed as well. We will discuss these questions and seek input on the approaches so far, and hopefully leave with some momentum to make positive changes.

Location: Javascript devroom, H.1308 (Rolin), UniversitĂŠ Libre de Bruxelles, Brussels, Belgium

We hope you can attend the speech, or meet John at the conference.

Please fill out our contact form, so that we can contact you about future events in and around Brussels.

09 January, 2019 12:58PM

Molly de Blanc - "The margins of software freedom" (Brussels, Belgium)

FSF campaigns manager Molly de Blanc will be speaking at CopyleftConf (2019-02-04):

Everyone needs user freedom, but the ways through which it impacts our daily lives vary widely based on factors like gender, location, and race. At-risk communities, marginalized groups, and minorities need copyleft more than ever, as computing technologies find their ways into our homes, our bodies, and the most private parts of our lives.

Location: DigitYser, Boulevard d’Anvers 40, 1000 Bruxelles, Belgium

Please fill out our contact form, so that we can contact you about future events in and around Brussels.

09 January, 2019 12:40PM

January 08, 2019

mdk @ Savannah

GNU MDK 1.2.10 released

This new release fixes some long standing bugs and adds compatibility with Guile 2.2 and Flex 2.6.

08 January, 2019 07:44PM by Jose Antonio Ortega Ruiz

January 07, 2019

mit-scheme @ Savannah

MIT/GNU Scheme 10.1.4 released

See the release notes.

07 January, 2019 03:01AM by Chris Hanson

January 03, 2019

recutils @ Savannah

recutils 1.8 released

I am happy to announce a new release of the GNU recutils, version 1.8.

The changes in this release are:

  • Utilities:
    • Fix the build of readrec with recent bash headers.
  • librec:
    • Fix evaluation of sexes containing #NAME expressions.
    • Make numeric results from aggregated functions signed.
  • readred:
    • readrec --help now shows the help message and returns, instead of waiting for input.
  • Emacs mode:
    • rec-mode.el now supports case-insensitive searches.
    • rec-mode.el now defines it's own faces.
    • ob-rec.el was switched to lexical binding to satisfy later org-mode versions.
  • It is now possible to run the testsuite in parallel.
  • Other fixes:
    • gnulib updated.
    • GNU/Hurd build fixed.
    • Aggregate functions now work properly in Aarch64 and powerpc.
  • Internal cleanup and code factorization.
  • Other bug fixes.

The release can be found in the GNU ftp:
ftp://ftp.gnu.org/gnu/recutils/recutils-1.8.tar.gz

Alternatively, http://ftpmirror.gnu.org/recutils/ will automatically
redirect to a nearby mirror.

==About GNU recutils==

GNU recutils is a set of tools and libraries to access human-editable,
text-based databases called recfiles. The data is stored as a
sequence of records, each record containing an arbitrary number of
named fields. Advanced capabilities usually found in other data
storage systems are supported by GNU recutils: data types, data
integrity (keys, mandatory fields, etc) as well as the ability of
records to refer to other records (sort of foreign keys). Despite its
simplicity, recfiles can be used to store medium-sized databases.

Please see the GNU recutils homepage for more information:
http://www.gnu.org/software/recutils

03 January, 2019 10:20AM by Jose E. Marchesi

January 02, 2019

tar @ Savannah

Version 1.31

Version 1.31 is available for download. New in this release:

  • Fix heap-buffer-overrun with --one-top-level.
  • Support for zstd compression.
  • The -K option interacts properly with member names given in the command line.
  • Fix CVE-2018-20482

02 January, 2019 07:17PM by Sergey Poznyakoff

January 01, 2019

diffutils @ Savannah

diffutils-3.7 released [stable]

01 January, 2019 02:52AM by Jim Meyering

December 30, 2018

gzip @ Savannah

gzip-1.10 released [stable]

30 December, 2018 06:08AM by Jim Meyering

December 28, 2018

gnuastro @ Savannah

Gnuastro 0.8 released

The 8th release of GNU Astronomy Utilities (Gnuastro) is now available for download. Please see the announcement for details.

28 December, 2018 02:58PM by Mohammad Akhlaghi

December 22, 2018

parallel @ Savannah

GNU Parallel 20181222 ('Jacob Sparre') released

GNU Parallel 20181222 ('Jacob Sparre') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Quote of the month:

GNU parallel is a seriously powerful flexible and tool.
-- Greg Hurrell @wincent

New in this release:

  • Better /proc/cpuinfo parser.
  • Simpler job scheduling flow.
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

22 December, 2018 03:47PM by Ole Tange

December 21, 2018

GNU Guix

Reproducible Builds Summit, 4th edition

As it has become tradition, a sizeable delegation of Guix developers attended this year's Reproducible Builds Summit in Paris a little over one week ago. In the Mozilla offices around 50 people representing dozens of free software projects (and also Microsoft) got ready to share ideas and work together on reproducibility problems for three days. As the agenda unfolded we would split up into small groups, each focusing on a different issue. This blog post is an attempt to share impressions from some of these group sessions.

Opam

Opam is the OCaml package manager, and a number of sessions were dedicated to addressing reproducibility problems that affect Opam, such as the lack of accounting for common system packages. One of the outcomes of the session is a script to catch common sources of non-determinism, which should improve the quality of OCaml packages in general, including those that are available through Guix.

Some very productive hack session resulted in a new Guix package importer for Opam packages and various fixes for the Opam package in Guix. The Opam website now also includes instructions on how to install Opam with Guix.

“User stories”

The “user stories” session focused on a couple of questions: How can we put reproducible builds into the hands of users? How do they benefit from it? This has been an on-going theme in Reproducible Builds Summits. We shared ideas about this before: users should be able to choose their provider of package binaries, it should be easy for them to (re)build packages locally, and it should be easy for them to challenge servers that publish binaries. Guix satisfies these requirements but could probably go further. These and other ideas were explored. In particular it was interesting to see several distros work on setting up rebuilders that would allow them to have more diversity and thus more confidence in the binaries that they ship.

Distributing packages over IPFS

Developers of IPFS offered a session on package distribution over IPFS. IPFS implements peer-to-peer unencrypted data storage; there are privacy and censorship-resistance issues that it leaves unaddressed, but its efficiency and convenience are appealing for the distribution of package binaries. An IPFS package landed in Guix right in time for the summit, which allowed us to play with it. Together with fellow Nix hackers, we sketched an incremental path towards IPFS integration in Guix and Nix. We hope to be able to deliver a first implementation of that in Guix soon—stay tuned!

Java and other JVM languages

The Java reproducibility working group discussed what was needed to reproduce builds of Java packages. We focused mainly on reproducing builds with Maven and realized that differences in vocabulary affect our goals. For instance, Maven developers don't consider plugins to be dependencies for the build, while in the context of Guix anything contributing to the build is declared as an input. Our interactions with other projects throughout the summit has led to similar revelations and contributed to improved mutual understanding.

In Guix we have packages for two more JVM languages other than Java itself: Groovy and Clojure. Other JVM languages, such as Scala and Kotlin (both dependencies of Gradle), however, come with additional challenges. The Scala compiler, for example, is written in Scala, and although there are other implementations of the compiler, they are also written in Scala. Julien started writing a bootstrap compiler for Scala in Java, which is already able to produce an AST for Scala files and produce JVM bytecode. In cases like this where it is not feasible to retrace historic steps to bootstrap a language, writing a new compiler implementation may surprisingly be the most reasonable thing to do.

Bootstrapping

We were excited to see increased interest in bootstrapping, which may have been sparked by recent major successes in the early Scheme/C bootstrap for GNU+Linux systems. While a few of us successfully hunted down a confusing miscompilation bug, parts of the early C bootstrap were ported to Nix, demonstrating that the bootstrapping work that started in the context of Guix can benefit other GNU+Linux distributions with minor adaptations.

With the addition of Gash as a Bash and GNU coreutils replacement on the horizon, we are looking forward to another dramatic reduction of the "binary seed" used to bootstrap the GNU system --- first via Guix and hopefully for other free software system distributions in the future.

Thanks!

We would like to thank the organizers who helped make the Reproducible Build Summit a productive, enjoyable and friendly workshop: Beatrice and Gunner of Aspiration, Holger, Nicolas, Vagrant, Chris and Mattia.

About GNU Guix

GNU Guix is a transactional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and respects the user's freedom.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native Guile modules, using extensions to the Scheme language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.

GuixSD can be used on an i686, x86_64, ARMv7, and AArch64 machines. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and aarch64.

21 December, 2018 10:30AM by Julien Lepiller, Gábor Boskovits, Ludovic Courtès, Ricardo Wurmus

sed @ Savannah

sed-4.7 released [stable]

21 December, 2018 06:14AM by Jim Meyering

grep @ Savannah

grep-3.3 released [stable]

21 December, 2018 04:51AM by Jim Meyering

December 20, 2018

grep-3.2 released [stable]

20 December, 2018 03:58PM by Jim Meyering

sed @ Savannah

sed-4.6 released [stable]

20 December, 2018 07:34AM by Jim Meyering

December 14, 2018

Parabola GNU/Linux-libre

Parabola officially supports librebooted Asus Chromebook C201

Parabola now supports the Asus Chromebook C201 with the Linux-libre kernel. In the past, the furthest thing we achieved was to boot Parabola with the non-free CrOS kernel. However, that changed when a Parabola user reported at issue #1965 to successfully boot our beloved distro in this Librebooted ARM laptop. Users that wish to do this, just have to install the linux-libre-chromebook package, which has the signature to boot Linux-libre with Depthcharge in the C201.

14 December, 2018 06:00AM by David P.

December 11, 2018

GNU Guix

Bootstrapping Rust

Slowly, systems programming languages are getting better in the sense of giving more guarantees and automating what can be automated without downsides.

Rust is one of the more promising system programming languages. Its central advantage is that it enforces memory safety and thread safety at compile time, without incurring any runtime overhead.

The part that enforces memory safety is called "the borrow checker".

It has been a long-standing tradition to develop a language far enough to be able to write the language's compiler in the same language, and Rust does the same. Rust is nowadays written in Rust.

We've tracked down the earlier Rust versions, which were written in OCaml, and were planning to use these to bootstrap Rust. But in parallel, John Hodge (Mutabah) developed a Rust compiler, called "mrustc", written in C++.

mrustc is now good enough to compile Rust 1.19.0.

Using mrustc, we were able to build Rust entirely from source with a bootstrap chain like this:

rust@1.28.0
    ^
    |
rust@1.27.2
    ^
    |
rust@1.26.2
    ^
    |
rust@1.25.0
    ^
    |
rust@1.24.1
    ^
    |
rust@1.23.0
    ^
    |
rust@1.22.1
    ^
    |
rust@1.21.0
    ^
    |
rust@1.20.0
    ^
    |
rust@1.19.0
    ^
    |
mrustc@0.8.0
    ^
    |
   g++

Limitations

  • mrustc currently does no borrow checking -- so memory safety of our rust@1.19.0 is mostly guaranteed in the sense of "someone else built rust@1.19.0 using another Rust compiler and thus ran the borrow checker already".

  • The bootstrap chain is rather long. There are plans to extend mrustc to support newer Rust, but it turned out to be difficult.

  • Rust takes reproducible builds seriously, but there are some reproducibility problems left in earlier compilers that pop up very sporadically (mostly because of LLVM, and some because of Rust hashtable poisoning). Help wanted, especially from LLVM people!

  • Each target we want to support has to have support in LLVM, AND mrustc needs to have a specification of the alignment and sizes of the base types.

About GNU Guix

GNU Guix is a transactional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and respects the user's freedom.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native Guile modules, using extensions to the Scheme language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.

GuixSD can be used on an i686, x86_64, ARMv7, and AArch64 machines. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and aarch64.

11 December, 2018 01:36PM by Danny Milosavljevic

December 10, 2018

Back from SeaGL 2018

SeaGL 2018 has concluded. Thank you to everyone in the local Seattle community who came to participate!

As previously announced, Chris Marusich gave a talk introducing GNU Guix to people of all experience levels. Some very Guixy swag was handed out, including printed copies of this handy Guix reference card. The room was packed, the audience asked great questions, and overall it was tons of fun!

If you weren't able to come to SeaGL this year, that's OK! You can watch a video of the talk below. Happy hacking!

Everyday Use of GNU Guix

10 December, 2018 08:00AM by Chris Marusich

December 09, 2018

unifont @ Savannah

Unifont 11.0.03 Released

8 December 2018

Unifont 11.0.03 is now available. Significant changes in this version include the Nushu script contributed by David Corbett, and the Kana Supplement and Kana Supplement-A scripts contributed by Johnnie Weaver.

Download this release at:

https://ftpmirror.gnu.org/unifont/unifont-11.0.03/

or if that fails,

ftp://ftp.gnu.org/gnu/unifont/unifont-11.0.03/

Enjoy!

Paul Hardy

09 December, 2018 12:53AM by Paul Hardy

December 06, 2018

FSF News

FSF adds Hyperbola GNU/Linux-libre to list of endorsed GNU/Linux distributions

hyperbola logo

The FSF's list showcases GNU/Linux operating system distributions whose developers have made a commitment to follow its Guidelines for Free System Distributions. Each one includes and endorses exclusively free "as in freedom" software.

After a thorough vetting process, the FSF concluded that Hyperbola, a long-term support simplicity-focused distribution based on Arch GNU/Linux, meets these criteria.

"In a world where proprietary operating systems continually up the ante in terms of the abuse they heap on their users, adding another distribution to the list of fully free systems is a welcome development. Hyperbola represents another safe home for users looking for complete control over their own computing," said John Sullivan, FSF's executive director.

"Hyperbola is a fully free distribution based on Arch snapshots and Debian development without nonfree software, documentation, or any type of support for the installation or execution of nonfree software. Unlike Arch, which is a rolling release distribution, Hyperbola is a long-term one focused on stability and security inspired from Debian and Devuan," said AndrĂŠ Silva, Hyperbola co-founder and developer.

FSF's licensing and compliance manager, Donald Robertson, added, "It was a pleasure working with the team behind Hyperbola throughout this process. They really go above and beyond in terms of looking out for the rights of their users. "

Hyperbola joins a growing list of distributions that users can trust. More information about Hyperbola, and how volunteers can get involved, is available at https://www.hyperbola.info/.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to run, edit, share, and contribute to computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

About the GNU Operating System and Linux

Richard Stallman announced in September 1983 the plan to develop a free software Unix-like operating system called GNU. GNU is the only operating system developed specifically for the sake of users' freedom. See https://www.gnu.org/gnu/the-gnu-project.html.

In 1992, the essential components of GNU were complete, except for one, the kernel. When in 1992 the kernel Linux was re-released under the GNU GPL, making it free software, the combination of GNU and Linux formed a complete free operating system, which made it possible for the first time to run a PC without nonfree software. This combination is the GNU/Linux system. For more explanation, see https://www.gnu.org/gnu/gnu-linux-faq.html.

Media Contacts

Donald Robertson, III
Licensing & Compliance Manager
Free Software Foundation
+1 (617) 542 5942
licensing@fsf.org

Hyperbola GNU/Linux-libre logo, Copyright 2017-2018 Hyperbola Project released under the CC-BY-SA 4.0 license.

06 December, 2018 09:15PM

libredwg @ Savannah

libredwg-0.7 released

See https://www.gnu.org/software/libredwg/ and
http://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS

new API:
* add dwg_get_OBJECT(dwg) API for all objects in a DWG.
analog to dwg_get_ENTITY, but including all objects, tables,
block headers, even if unowned.
Note that the dwg_api will be revamped from static to dynamic before 1.0.
field accessors will be by name argument and ... (va_args)
See the work/dynapi branch #59 (in progress).
dwg_get_OBJECT(dwg) will be renamed to dwg_getall_OBJECT(dwg),
dwg_get_ENTITY(blkhdr) to dwg_getall_ENTITY(blkhdr).

API breaking changes:
* Changed BITCODE_RC from signed to unsigned char (#44)
* LEADER changes: rename hooklineonxdir to hookline_dir,
rename unknown_bit_4 to hookline_on,
endptproj only until r2007. (but still not 100% correct)
* MULTILEADER changes: rename num_vertex to numpts (analog to LEADER),
change vertex to points[] (PR #49 Denis Pryt)
* Fixed dwg_get_ENTITY(hdr): NULL-terminate the result (#60)

Important bugfixes:
* Fixed all memory leaks and double-free's (#43, #42, PR #58 Denis Pryt)
* Fixed EED sizes (PR #48, Denis Pryt)
* Fixed BLOCK_HEADER.num_inserts, esp. with xref's (#44).
For decode and encode.
* Fixed LTYPE.dash (#44)
* Fixup LEADER DXF values and path_type with annot_type mixup.
* Fixed TABLE.value.data_type with flags kGeneral (#54 Denis Pryt)
* Fixes VECTOR_CHKCOUNT segfault on unassigned obj->dxfname's
(esp. for <=R12), and fix overflows (#56)
* dwglayers: fix for DICTIONARY breaking the list output (#51)
* dxf: fix dxf_blocks_write for empty paper_space (#52)
* Fixed example/load_dwg.py allowing non-critical error codes

Other newsworthy changes:
* Check for RUNNING_ON_VALGRIND and call dwg_free then, even
if previously skipped.
* Renamed all remaining API "null malloc" error messages to
"Out of memory"
* Harmonized in_dxfb with in_dxf, but still WIP

Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.gz (9.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.xz (3.5MB)

https://github.com/LibreDWG/libredwg/releases/tag/0.7 (also window binaries)

Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.xz.sig

Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html

Here are the SHA256 checksums:

76f0329b5b175cb2a8d0a66854f91c21c31bdff6cb6ff04569c7fdd3ad4b069d libredwg-0.7.tar.gz
cbef6b9d48877ca26a54115b9ef9a7fd02d0279a94e79d2247f80277820b888d libredwg-0.7.tar.xz
6031e0c4fbc81eb84a8359fc9a282a7571dbfe2b5d345df15cc20490f707274c libredwg-0.7-win32.zip
69ee51bab4e0d9b406ab7fad3ffa18fb088a295ca59fb06b342994fc8ebdf7da libredwg-0.7-win64.zip

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:

gpg --verify libredwg-0.7.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414

and rerun the 'gpg --verify' command.

06 December, 2018 12:07AM by Reini Urban

December 03, 2018

FSF News

Free Software Foundation receives $1 million from Handshake

BOSTON, Massachusetts, USA -- Monday, December 3rd, 2018 -- The Free Software Foundation (FSF) announced it has received several earmarked charitable donations from Handshake, an organization developing an experimental peer-to-peer root domain naming system, totaling $1 million. These gifts will support the FSF's organizational capacity, including its advocacy, education, and licensing initiatives, as well as specific projects fiscally sponsored by the FSF.

John Sullivan, FSF's executive director, said, "Building on the $1 million Bitcoin gift from the Pineapple Fund earlier this year, and our record high number of individual associate members, it is clear that software freedom is more important than ever to the world. We are now at a pivotal moment in our history, on the cusp of making free software the 'kitchen table issue' it must be. Thanks to Handshake and our members, the Free Software Foundation looks forward to scaling to the next level of free software activism, development, and community."

Rob Myers of Handshake said, "The FSF is a worldwide leader in the fight to protect the rights of all computer users through its support for the production of free software, including the GNU operating system and its campaigns to raise awareness such as Defective by Design. Handshake is proud to be able to support the FSF in its important work to secure our freedom."

These significant contributions from Handshake will fuel the FSF's efforts with activists, developers, and lawyers around the world. They include:

  • $400,000 for the FSF's organizational capacity, publications, licensing, and activist initiatives;

  • $200,000 for Replicant, the fully free mobile operating system based on Android;

  • $100,000 for GNU Guix and GuixSD, a package manager supporting transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and more, as well as a distribution of the GNU operating system using that package manager;

  • $100,000 for GNU Octave, a high-level language, primarily intended for numerical computations;

  • $100,000 to help the GNU Project address important threats like nonfree JavaScript; and

  • $100,000 for the GNU Toolchain, which provides the foundational software components of the GNU/Linux system and the Internet.

Replicant developer Denis "GNUtoo" Carikli said, "So far, Replicant development has been driven by very few individuals contributing to it in their free time. Donations have been used to enable Replicant developers to buy new devices to port Replicant on, and to enable new Replicant developers to work on already-supported devices. They were also used to enable developers to attend conferences to promote Replicant and try to find new contributors. The kind of amount we received will enable Replicant to fund development, first to fix the most critical bugs, and then to upstream most of its code, making it more sustainable, and also enabling other projects to reuse Replicant's work to improve users' freedom."

Guix developer and project committee member Ricardo Wurmus said, "This donation allows the GNU Guix project to guarantee its independence, invest in hardware, and develop new features to benefit all our users. We'll be able to grow the performance and reliability of our existing infrastructure. We also envision better support for new and liberating architectures, and more resilient long-term storage of binaries and source code. It will also allow us to continue our outreach efforts and attract new interns to further improve and promote the project."

John W. Eaton, original author and primary maintainer of GNU Octave, said, "We are grateful for such a generous donation. It is by far the single largest monetary contribution we have ever received, and we thank Handshake for including Octave in this select group. We have only begun to imagine how these funds might impact Octave, but given the size of the gift, we intend something transformational and previously impossible."

David Edelsohn, founding GCC Steering Committee member and GNU Toolchain Fund trustee, said "We are incredibly gratified by the confidence in and support for the GNU Toolchain demonstrated by this donation. This donation will allow the project to greatly expand its outreach to students and new developers. It allows us to move forward on a number of fronts with confidence that we have the resources to match our imagination."

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to run, change, share, and contribute to computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

Media Contact

John Sullivan
Executive Director
Free Software Foundation
+1 (617) 542 5942
campaigns@fsf.org

03 December, 2018 06:10PM

December 02, 2018

Sylvain Beucler

New Android SDK/NDK Rebuilds

As described in a previous post, Google is still click-wrapping all Android developer binaries with a non-free EULA.

I recompiled SDK 9.0.0, NDK r18b and SDK Tools 26.1.1 from the free sources to get rid of it:

https://android-rebuilds.beuc.net/

with one-command, Docker-based builds:

https://gitlab.com/android-rebuilds/auto

This triggered an interesting thread about the current state of free dev tools to target the Android platform.

Hans-Christoph Steiner also called for joining efforts towards a repository hosted using the F-Droid architecture:

https://forum.f-droid.org/t/call-for-help-making-free-software-builds-of-the-android-sdk/4685

What do you think?

02 December, 2018 02:59PM

November 30, 2018

wget @ Savannah

GNU Wget 1.20 Released

Noteworthy Changes in this release:

  • Add new option `--retry-on-host-error` to treat local errors as transient and hence Wget will retry to download the file after a brief waiting period.
  • Fixed multiple potential resource leaks as found by static analysis
  • Wget will now not create an empty wget-log file when running with -q and -b switches together
  • When compiled using the GnuTLS >= 3.6.3, Wget now has support for TLSv1.3
  • Now there is support for using libpcre2 for regex pattern matching
  • When downloading over FTP recursively, one can now use the

--{accept,reject}-regex switches to fine-tune the downloaded files

  • Building Wget from the git sources now requires autoconf 2.63 or above. Building from the Tarballs works as it used to.

30 November, 2018 12:14AM by Darshit Shah

November 28, 2018

dejagnu @ Savannah

DejaGnu 1.6.2 released

DejaGnu 1.6.2 was released on 28 November 2018. A maintenance release.

28 November, 2018 06:03AM by Ben Elliston

November 27, 2018

health @ Savannah

Release of GNU Health 3.4

Dear community

We are proud to announce the release of GNU Health 3.4 series !

It's been over a year of hard work, integrating the latest in technology and Social Medicine into GNU Health.

This versions incorporates many cool features, some of them are :

  • The GNU Health Federation model
  • Thalamus message server
  • New Health Information System (on MongoDB)
  • Person Master Index
  • MongoDB support (on the HIS)
  • Updated UniprotKB database with over 30K protein natural variants
  • Contextualized information on genetics and social determinants
  • Genetic and family history and environmental factors integrated to the Page of Life and Federation
  • The GNU Health Book of Life
  • Tryton 4.6 integration on the HMIS node
  • All GNU Health packages are natively in Python 3
  • Enhanced support for Calendar and WebDAV system
  • GNU LIMS improvements in views
  • Pypi packages with our own name ("gnuhealth-<package>")
  • Native client has a command line interface
  • Over 30 new commands for the main daily tasks
  • Enhanced GNU Health camera plugin, including zoom
  • Activity Log window on the client
  • SYSINFO command to retrieve the information about client and server
  • Customize the banner on the client
  • Reports are generated now in PDF format

The GNU Health Federation

The GNU Health Federation (aka, The Federation) is here !
This is revolutionary and ground breaking. With the Federation, we will be able to integrate heterogeneous systems and build large regional and national health networks. No more data isolation. No more silos. The GNU Health Federation is a great tool for the people, health practitioners, research institutions and public health systems.

Relevant demographics and medical information will be up-to-date, no matter where the person and patient visits. It is great tool for early detection on epidemics, improving the health promotion and disease prevention campaigns.

I am also optimist about the role of the Federation in integrative anc precision medicine. It combines Nature and Nurture, and can shed light on the diagnostic and therapeutics of devastating and elusive genetic diseases, cancer and autoimmune disorders.

The GNU Health Federation components (eg, Thalamus), will have their own development process, so they can be integrated with each of the other GNU Health projects without blocking each other.

This journey is just starting, but I trust that, as a community, we'll be able to tackle today and future issues in health.

Derivative languages / translations

GNU Health takes the approach of derivative languages, which will simplify the localization effort. Basically, for languages who have many strings in common, will only have to work on those strings that differ from a main source.
Let's take the example of Spanish. The new approach will work in the following way:
- One source language "es"
- Many derivative / regional languages (es_ES, es_AR, es_PE, es_VE ... ).

Until now, each derivative language had, except the local terminology, the same strings as the source. That makes localization harder to maintain,and larger in size.
The new method allow the translators to focus on the main source language, greatly improving the quality of the translation, and without duplication.

Please make sure that you focus on the generic language first, and only add local terms in the derivative language.

Summary of Upgrade steps

  • Make a FULL BACKUP your kernel, database and attach directories !!!
  • Follow the instructions on the Wikibooks.
  • Apply the SQL script "upgrade_34.sql" found under scripts/upgrade/3.4 of the main source installation tarball.
  • Upgrade the instance

Last but not least....oo matter how hard we try to avoid them, there will be bugs, so please test the new system, upgrade process, languages, ... and please report them via health@gnu.org

Enjoy Freedom in Healthcare !

--
Dr. Luis Falcon, M.D., BSc
President, GNU Solidario
GNU Health: Freedom and Equity in Healthcare
http://health.gnu.org
GNUPG Fingerprint :ACBF C80F C891 631C 68AA 8DC8 C015 E1AE 0098 9199

27 November, 2018 03:26PM by Luis Falcon

November 22, 2018

parallel @ Savannah

GNU Parallel 20181122 ('Kilogram') released

GNU Parallel 20181122 ('Kilogram') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Quote of the month:

HOLY STUFF I LOVE GNU PARALLEL
-- Nick (but spookier) @NickInfoSec@twitter

New in this release:

  • Experimental simpler job flow control.
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with: (wget -O - pi.dk/3 || curl pi.dk/3/) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your commandline will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

22 November, 2018 11:50PM by Ole Tange

November 21, 2018

bison @ Savannah

Bison 3.2.2 released [stable]

Bison 3.2.2 is a bug fix releases of Bison 3.2.

Bison 3.2 brought massive improvements to the deterministic C++ skeleton,
lalr1.cc. When variants are enabled and the compiler supports C++11 or
better, move-only types can now be used for semantic values. C++98 support
is not deprecated. Please see the NEWS below for more details.

Many thanks to Frank Heckenbach for paving the way for this release with his
implementation of a skeleton in C++17, and to Nelson H. F. Beebe for testing
exhaustively portability issues.

==================================================================

Bison is a general-purpose parser generator that converts an annotated
context-free grammar into a deterministic LR or generalized LR (GLR) parser
employing LALR(1) parser tables. Bison can also generate IELR(1) or
canonical LR(1) parser tables. Once you are proficient with Bison, you can
use it to develop a wide range of language parsers, from those used in
simple desk calculators to complex programming languages.

Bison is upward compatible with Yacc: all properly-written Yacc grammars
ought to work with Bison with no change. Anyone familiar with Yacc should be
able to use Bison with little trouble. You need to be fluent in C or C++
programming in order to use Bison. Java is also supported.

Here is the GNU Bison home page:
https://gnu.org/software/bison/

==================================================================

Here are the compressed sources:
https://ftp.gnu.org/gnu/bison/bison-3.2.2.tar.gz (4.1MB)
https://ftp.gnu.org/gnu/bison/bison-3.2.2.tar.xz (2.1MB)

Here are the GPG detached signatures[*]:
https://ftp.gnu.org/gnu/bison/bison-3.2.2.tar.gz.sig
https://ftp.gnu.org/gnu/bison/bison-3.2.2.tar.xz.sig

Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:

gpg --verify bison-3.2.2.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys 0DDCAA3278D5264E

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.16.1
Flex 2.6.4
Gettext 0.19.8.1
Gnulib v0.1-2222-g48a6c46b0

NEWS

21 November, 2018 08:32PM by Akim Demaille

November 20, 2018

orgadoc @ Savannah

GNU OrgaDoc 1.0 Released

# Changes since v0.9 #

  • Removed orgadoc-add-docs script due to outdated use.
  • Rewritten to C89 standard from Eiffel.
  • Added -m/--merge option to orgadoc-init-readme.
  • Cleaned usages and modernised what orgadoc is used for.
  • Rewrote the configure approach.
  • Rewrote documentation.
  • Removed the TODO document.
  • Bumped version to 1.0.

C89 was chosen to ensure maximum portability for legacy as well as modern systems.

20 November, 2018 09:50AM by Adam Bilbrough

November 14, 2018

gxmessage @ Savannah

gxmessage has a new homepage

My old web host shuts down on November 30, 2018. Gxmessage has a new homepage at the following address:

https://trmusson.dreamhosters.com/programs.html#gxmessage

14 November, 2018 04:36AM by Timothy Musson

ignuit @ Savannah

iGNUit has a new homepage address

The host for iGNUit's homepage has changed. The new URL is:

https://trmusson.dreamhosters.com/programs.html#ignuit

14 November, 2018 04:29AM by Timothy Musson

November 10, 2018

bison @ Savannah

Bison 3.2.1 released [stable]

We would have been happy not to have to announce the release of Bison 3.2.1,
which fixes portability issues of Bison 3.2.

Bison 3.2 brought massive improvements to the deterministic C++ skeleton,
lalr1.cc. When variants are enabled and the compiler supports C++11 or
better, move-only types can now be used for semantic values. C++98 support
is not deprecated. Please see the NEWS below for more details.

Many thanks to Frank Heckenbach for paving the way for this release with his
implementation of a skeleton in C++17, and to Nelson H. F. Beebe for testing
exhaustively portability issues.

==================================================================

Bison is a general-purpose parser generator that converts an annotated
context-free grammar into a deterministic LR or generalized LR (GLR) parser
employing LALR(1) parser tables. Bison can also generate IELR(1) or
canonical LR(1) parser tables. Once you are proficient with Bison, you can
use it to develop a wide range of language parsers, from those used in
simple desk calculators to complex programming languages.

Bison is upward compatible with Yacc: all properly-written Yacc grammars
ought to work with Bison with no change. Anyone familiar with Yacc should be
able to use Bison with little trouble. You need to be fluent in C or C++
programming in order to use Bison. Java is also supported.

Here is the GNU Bison home page:
https://gnu.org/software/bison/

==================================================================

Here are the compressed sources:
https://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.gz (4.1MB)
https://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.xz (2.1MB)

Here are the GPG detached signatures[*]:
https://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.gz.sig
https://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.xz.sig

Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:

gpg --verify bison-3.2.1.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys 0DDCAA3278D5264E

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.16.1
Flex 2.6.4
Gettext 0.19.8.1
Gnulib v0.1-2176-ga79f2a287

NEWS

10 November, 2018 06:56AM by Akim Demaille

November 09, 2018

FSF News

FSF job opportunity: web developer

The Free Software Foundation (FSF), a Massachusetts 501(c)(3) charity with a worldwide mission to protect computer user freedom, seeks a motivated and talented Boston-based individual to be our full-time web developer.

This position, reporting to the executive director, works closely with our sysadmin team and chief technology officer to maintain and improve the FSF's Web presence. The FSF uses several different free software Web platforms in the course of our work, both internally and externally. These platforms are critical to work supporting the GNU Project, free software adoption, free media formats, and freedom on the Internet; and to opposing bulk surveillance, Digital Restrictions Management, software patents, and proprietary software.

We are looking for someone who is comfortable with keeping these systems up-to-date and working, as well as customizing them when necessary. While the main duties will relate to the backend systems, frontend experience with templates, HTML, CSS, JavaScript, and design tools will be a big plus. The web developer will help lead major projects, such as the relaunch of https://www.fsf.org and migration of https://audio-video.gnu.org to GNU MediaGoblin. They will also be part of the team running the annual LibrePlanet conference, and contribute to decisions about which new platforms to use or which existing ones to retire.

Examples of platforms maintained by the web developer include, but are not limited to:

  • CiviCRM
  • Drupal
  • MediaWiki
  • Plone / Zope
  • Ikiwiki
  • Request Tracker
  • Etherpad
  • CAS
  • GNU social
  • GNU MediaGoblin
  • Icecast

Because the FSF works globally and seeks to have our materials distributed in as many languages as possible, multilingual candidates will have an advantage. With our small staff of fourteen, each person makes a clear contribution. We work hard, but offer a humane and fun work environment at an office located in the heart of downtown Boston.

The FSF is a mature but growing organization that provides great potential for advancement; existing staff get the first chance at any new job openings. This position is also a good starting point for anyone who might be interested in other roles on our technical team in the future.

Benefits and salary

This job is a union position that must be worked on-site at the FSF's downtown Boston office. The salary is fixed at $53,269/year, and is non-negotiable. Benefits include:

  • fully subsidized individual or family health coverage through Blue Cross Blue Shield;
  • partially subsidized dental plan;
  • four weeks of paid vacation annually;
  • seventeen paid holidays annually;
  • weekly remote work allowance;
  • public transit commuting cost reimbursement;
  • 403(b) program with employer match;
  • yearly cost-of-living pay increases based on government guidelines;
  • health care expense reimbursement;
  • ergonomic budget;
  • relocation (to Boston area) expense reimbursement;
  • conference travel and professional development opportunities; and
  • potential for an annual performance bonus.

Application instructions

Applications must be submitted via email to hiring@fsf.org. The email must contain the subject line "web developer." A complete application should include:

  • resume;
  • cover letter; and
  • links to any previous work online.

All materials must be in a free format. Email submissions that do not follow these instructions will probably be overlooked. No phone calls or paper applications, please.

Applications will be reviewed on a rolling basis until the position is filled. To guarantee consideration, submit your application by Friday, November 30, 2018.

The FSF is an equal opportunity employer and will not discriminate against any employee or application for employment on the basis of race, color, marital status, religion, age, sex, sexual orientation, national origin, handicap, or any other legally protected status recognized by federal, state or local law. We value diversity in our workplace. Women, people of color and LGBTQ individuals are strongly encouraged to apply.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://www.fsf.org and https://www.gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. We are based in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

09 November, 2018 06:25PM